<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Loi_LXTT]]></title><description><![CDATA[你还要怎样更好的世界？树在。山在。大地在。岁月在。我在。]]></description><link>https://blog.youkuaiyun.com/Loi_LXTT</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Loi_LXTT]]></copyright><item><title><![CDATA[【zqsz&&loi 互测 11.6】 T1]]></title><link>https://blog.youkuaiyun.com/Loi_LXTT/article/details/78461522</link><guid>https://blog.youkuaiyun.com/Loi_LXTT/article/details/78461522</guid><author>Loi_LXTT</author><pubDate>Mon, 06 Nov 2017 20:29:47 +0800</pubDate><description><![CDATA[原题题目来源：poj 1845  
原题传送门 
原题求a^b的约数个数，本题作了修改： 
 
 
题目很明显是求首项为1，公比为m的等比数列的前t项和Solution 1：等比数列通项公式+快速幂最关键的是取模用到逆元 
求逆元？exgcd？费马小定理？不行不行，题目中没有说m和t-1互质 
qwq   get到了dalao的求逆元的通式： 
求：(a/b)%m 
公式：(a/b)%m=(a%(m]]></description><category></category></item><item><title><![CDATA[<分块>[HNOI 2010] 弹飞绵羊]]></title><link>https://blog.youkuaiyun.com/Loi_LXTT/article/details/78439912</link><guid>https://blog.youkuaiyun.com/Loi_LXTT/article/details/78439912</guid><author>Loi_LXTT</author><pubDate>Fri, 03 Nov 2017 21:35:04 +0800</pubDate><description><![CDATA[在线oj提交传送门 
 第一次打分块的代码，qwq原来也不是特别麻烦每一个点记录跳出所在块的步数，和跳出这个块之后落到哪一个点，每次修改，都把整个块的内容全部修改一遍，复杂度O(nlogn)注意： 
1.修改时一定要暴力把整个块内所有受到修改影响的点修改一遍 
2.本题中记录了一个last数组表示每一个块的最后一个元素。修改时，要从该点一直到上一个块的最后一个元素的下一个元素也就是本块的第一个元素全]]></description><category></category></item><item><title><![CDATA[【队内胡策 11.3】 T3]]></title><link>https://blog.youkuaiyun.com/Loi_LXTT/article/details/78437493</link><guid>https://blog.youkuaiyun.com/Loi_LXTT/article/details/78437493</guid><author>Loi_LXTT</author><pubDate>Fri, 03 Nov 2017 17:09:49 +0800</pubDate><description><![CDATA[我以为是个DP啊，而且考试的时候没明白这里的二维背包指的是什么（回去重修语文）其实是个贪心，前缀和+枚举？对于一个n * m的格子（也就是背包），如果只放进大小为3 * 1的物品，一般情况下可以放进n * m/3种。特殊情况：n或m为2，且另一个%3==2，格子会剩下4个，只能用1 * 2的来填满，所以最多放（n*m-4）/3个。如果知道了放几个1 * 3的格子，就可以O(1)算出1 * 2的物品可]]></description><category></category></item><item><title><![CDATA[【队内胡策 11.3】 T1 T2]]></title><link>https://blog.youkuaiyun.com/Loi_LXTT/article/details/78437276</link><guid>https://blog.youkuaiyun.com/Loi_LXTT/article/details/78437276</guid><author>Loi_LXTT</author><pubDate>Fri, 03 Nov 2017 16:54:19 +0800</pubDate><description><![CDATA[再次把两个题写在一个博客里的原因是，这两道题简单。。 
T1 
暴力暴力暴力，不能再暴力的暴力，但是考试的时候打了很久，因为很多细节要处理最后还是wa了一个点qwq，原因见代码44、45行少了一个特判，意思是，第二个日期的月份为2时，如果不是2月29，那么特判的闰年是不应该加上的qwq代码：#include<iostream>
#include<cstdio>
#include<cstring>
#]]></description><category></category></item><item><title><![CDATA[【noip 2016】组合数问题]]></title><link>https://blog.youkuaiyun.com/Loi_LXTT/article/details/78421760</link><guid>https://blog.youkuaiyun.com/Loi_LXTT/article/details/78421760</guid><author>Loi_LXTT</author><pubDate>Thu, 02 Nov 2017 10:11:09 +0800</pubDate><description><![CDATA[去题面的传送门 
神一般思考错了方向。。莫名在搞质因数分解。。其实质因数分解可做80%，最后20%超时，这个思路想到最后只能做80%了。。 
正解超级简单。 
吐槽：我哪知道组合数可以递推啊 
C(n,m)=C(n-1,m-1)+C(n-1,m) 
公式解释：从n个数中选m个物品，选定一个特殊物品，C(n-1，m-1)在剩下的物品中选m-1个，第m个选特殊物品；C(n-1,m)则表示不选特殊物品我一]]></description><category></category></item><item><title><![CDATA[【队内胡策 11.1】 T3]]></title><link>https://blog.youkuaiyun.com/Loi_LXTT/article/details/78417939</link><guid>https://blog.youkuaiyun.com/Loi_LXTT/article/details/78417939</guid><author>Loi_LXTT</author><pubDate>Wed, 01 Nov 2017 20:01:55 +0800</pubDate><description><![CDATA[考试的时候打了八十分暴力QAQ虽然八十分过了，但是算法有bug。。数据没有卡我算法，然后就水过了8个点。。害怕。 
正解： 
二分+并查集 
二分前mid个是否有矛盾的，特判一下全部符合的，答案为n+1 
验证答案时，用并查集维护。 
首先，如果已知一段区间[a,b]的最小值为x1，再出现一组猜测：[c,d]的最小值为x2。 
① 若x1 > x2且区间[c,d] 包含在[a,b]里，则自相矛盾。]]></description><category></category></item><item><title><![CDATA[【队内胡策 11.1】 T1 T2]]></title><link>https://blog.youkuaiyun.com/Loi_LXTT/article/details/78417612</link><guid>https://blog.youkuaiyun.com/Loi_LXTT/article/details/78417612</guid><author>Loi_LXTT</author><pubDate>Wed, 01 Nov 2017 19:35:14 +0800</pubDate><description><![CDATA[至于我为什么把两个题放一起，看题就知道了：T1 
 
O(T*3√p)，10^8，正好卡时 
啥也不说，代码：#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;long long t,p;int main()
{
    scanf("%lld",&t);]]></description><category></category></item><item><title><![CDATA[【队内胡策 10.30】 T2]]></title><link>https://blog.youkuaiyun.com/Loi_LXTT/article/details/78399793</link><guid>https://blog.youkuaiyun.com/Loi_LXTT/article/details/78399793</guid><author>Loi_LXTT</author><pubDate>Tue, 31 Oct 2017 09:38:24 +0800</pubDate><description><![CDATA[求一个被memset卡时的人的心理阴影面积 
嗯。。多叉树。。考试的时候想成二叉树了 
两个人肯定尽量去堵对方的路 
所以他们一定会在一个点相遇 
如果这个点还有其他分枝，按最优原则分配给两个人： 
如果两个人走过的总边数为奇数，那么相遇后，下一个选择的人是Yjq，反之为Hja。每个人选择当前可以选择的分枝中子树权值最大的一个。所以预处理以每个点为根的子树的大小 
这个题最麻烦的是分类求相遇点。。]]></description><category></category></item><item><title><![CDATA[【队内胡策 10.30】T1]]></title><link>https://blog.youkuaiyun.com/Loi_LXTT/article/details/78395034</link><guid>https://blog.youkuaiyun.com/Loi_LXTT/article/details/78395034</guid><author>Loi_LXTT</author><pubDate>Mon, 30 Oct 2017 17:14:02 +0800</pubDate><description><![CDATA[对任意的正整数x,f(x)是满足条件x/(a*b)==c(a,b,c均是正整数)的有序数对（a,b）的个数。（有序的意思就是比如(1,2)和(2,1)是不同的方案）。 
变形得： 
x==a*b*c; 
对于n，答案是所有x小于等于n的f(x)的和。即所有满足条件n>=a*b*c的（a,b）的个数，即所有满足条件的a,b,c的个数。 
问题转化为，求满足条件的组合（a,b,c）的排列数之和。 
先求]]></description><category></category></item><item><title><![CDATA[<差分约束>luogu 3275 糖果]]></title><link>https://blog.youkuaiyun.com/Loi_LXTT/article/details/78389550</link><guid>https://blog.youkuaiyun.com/Loi_LXTT/article/details/78389550</guid><author>Loi_LXTT</author><pubDate>Mon, 30 Oct 2017 07:04:00 +0800</pubDate><description><![CDATA[去题面的传送门 
对于题目中的各种条件： 
① a=b  建边a–>b=0,b–>a=0 
②a>=b 建边 b–>a=0 
③a>b 建边b–>a=1 
为什么呢？ 
因为要求最少糖果数，那么对于a=b和a>=b的情况，就都让它们相差的最少，就是0，对于a>b，差的最少就是1，所以建边为1. 
然后跑最长路。因为对于一个学生的糖果数量，要尽可能满足所有人的要求。如果存在最长路，那么该同学的糖果数就]]></description><category></category></item><item><title><![CDATA[<单调栈/悬线法>codevs 2491 玉蟾宫 1159 最大全0子矩阵]]></title><link>https://blog.youkuaiyun.com/Loi_LXTT/article/details/78387308</link><guid>https://blog.youkuaiyun.com/Loi_LXTT/article/details/78387308</guid><author>Loi_LXTT</author><pubDate>Sun, 29 Oct 2017 19:42:35 +0800</pubDate><description><![CDATA[玉蟾宫 
最大全0子矩阵 
曾经做过玉蟾宫，现在拿来再做，却早就忘了。。。 
一直在思考这个东西为什么要用单调栈来做。 
既然是从左到右扫描，如果上一个矩形的高度大于当前高度，那么上一个矩形的高度对后面的答案就没有贡献了。如果上一个矩形的高度等于当前高度，那我们直接累加得到的答案肯定更优。对于这两种情况的矩形，既然留之无用，那为什么不扔掉！当把所有高度大于等于当前矩形的矩形扔掉后，会发现剩下的就是一]]></description><category></category></item><item><title><![CDATA[【noip 1999】旅行家的预算]]></title><link>https://blog.youkuaiyun.com/Loi_LXTT/article/details/78386894</link><guid>https://blog.youkuaiyun.com/Loi_LXTT/article/details/78386894</guid><author>Loi_LXTT</author><pubDate>Sun, 29 Oct 2017 18:25:20 +0800</pubDate><description><![CDATA[去题面的传送门 
贪心 
从当前位置查找可以到达的最大范围内，最近的价格小于当前价格的站点。如果没有，就在当前站加满油，一直走到不能走到下一个加油站为止。直到到达终点。 
一开始想的贪心是如果没有比它小的，就在可到达范围内找一个最小的，到那个站去加油。但是这样肯定不是最优的，既然找不到，那我们就在当前便宜的站点尽可能多地加油。#include<iostream>
#include<cstdio>
#]]></description><category></category></item><item><title><![CDATA[【noip 2002】字串变换]]></title><link>https://blog.youkuaiyun.com/Loi_LXTT/article/details/78379117</link><guid>https://blog.youkuaiyun.com/Loi_LXTT/article/details/78379117</guid><author>Loi_LXTT</author><pubDate>Sat, 28 Oct 2017 20:45:36 +0800</pubDate><description><![CDATA[去题面的传送门 
BFS 
很暴力很暴力，因为数据范围实在是太小了 
wa在了hash上。 
以后hash的底数还是选质数吧#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<queue>
using namespace std;const int mo=2333,e=301;
int]]></description><category></category></item><item><title><![CDATA[<tarjan||拓扑>codevs 2066 三角恋]]></title><link>https://blog.youkuaiyun.com/Loi_LXTT/article/details/78376791</link><guid>https://blog.youkuaiyun.com/Loi_LXTT/article/details/78376791</guid><author>Loi_LXTT</author><pubDate>Sat, 28 Oct 2017 16:14:34 +0800</pubDate><description><![CDATA[去题面的传送门 
第一次做超时了，只得了四十分。 
做法是dfs找大小为3的环。数据范围是2000，一定超时。 
下面是40分的代码：#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;const int maxn=2000+10;
int cnt,t,n;
int]]></description><category></category></item><item><title><![CDATA[<并查集>luogu 1196 银河英雄传说]]></title><link>https://blog.youkuaiyun.com/Loi_LXTT/article/details/78366825</link><guid>https://blog.youkuaiyun.com/Loi_LXTT/article/details/78366825</guid><author>Loi_LXTT</author><pubDate>Fri, 27 Oct 2017 16:58:59 +0800</pubDate><description><![CDATA[去题面的传送门 
第一反应是并查集维护战舰之间的集合关系，记录每一个战舰前面的战舰数量pre[i]，记录每一个并查集的集合大小rank[i]，每次合并更新pre的大小，查询时如果两艘战舰在不同的集合里，直接return -1。反之，返回两艘战舰的pre之差-1，就是两艘战舰之间的战舰数量 
但是对于如何维护pre，我调试了很久。 
一开始想的是，每次合并时，把排列在后面的那个集合的根节点的pre+前]]></description><category></category></item><item><title><![CDATA[<（扩展域/加权）并查集>NOI 2001 食物链]]></title><link>https://blog.youkuaiyun.com/Loi_LXTT/article/details/78360982</link><guid>https://blog.youkuaiyun.com/Loi_LXTT/article/details/78360982</guid><author>Loi_LXTT</author><pubDate>Fri, 27 Oct 2017 09:21:43 +0800</pubDate><description><![CDATA[可提交的传送门题目描述 Description动物王国中有三类动物 A,B,C，这三类动物的食物链构成了有趣的环形。A吃B，B吃C，C吃A。 　　  
现有N个动物，以1－N编号。每个动物都是A,B,C中的一种，但是我们并不知道它到底是哪一种。 　　  
有人用两种说法对这N个动物所构成的食物链关系进行描述：  
第一种说法是“1 X Y”，表示X和Y是同类。 　　  
第二种说法是“2 X Y”，]]></description><category></category></item><item><title><![CDATA[【队内胡策 10.26 】T1]]></title><link>https://blog.youkuaiyun.com/Loi_LXTT/article/details/78356072</link><guid>https://blog.youkuaiyun.com/Loi_LXTT/article/details/78356072</guid><author>Loi_LXTT</author><pubDate>Thu, 26 Oct 2017 17:04:46 +0800</pubDate><description><![CDATA[QAQ蒟蒻我只做了六十分的暴力，六十分很好水O(n)做法： 
每到遍历一个字符，查找在该字符前的所有已经遍历过的字符里，该字符作为最小值时的答案，和该字符作为最大值时的答案。我们统计一下到第i个位置，每个字符各出现了多少次，即sum[j]。但是，我们还要知道对于以该位置结尾的，以前面任何位置开头的子串中的答案。从1到i遍历一遍肯定会超时，这时想用什么方法，能够快速找到位置x，使得区间[x,i]的答案]]></description><category></category></item><item><title><![CDATA[【队内胡策 10.24 T2】术式]]></title><link>https://blog.youkuaiyun.com/Loi_LXTT/article/details/78343060</link><guid>https://blog.youkuaiyun.com/Loi_LXTT/article/details/78343060</guid><author>Loi_LXTT</author><pubDate>Wed, 25 Oct 2017 16:31:06 +0800</pubDate><description><![CDATA[题目来源：codevs 2178 表达式运算Cuties 
去题面的传送门 
 
表达式计算 
需要处理负数以及括号多余的情况 
考试的时候交的代码比较长，崩溃了好几组，后来发现应该先判断栈空。还wa了几组。 
考完时候继续调，调了很久都是有bug。就是在把所有的括号都计算完了之后，剩下的运算符之前没有处理好，直接丢在栈里了。而且我是最后把栈清空了一遍，这样就导致剩下的运算符没有按照优先级排列，出现]]></description><category></category></item><item><title><![CDATA[【队内胡策 10.24 T4】星际牛仔]]></title><link>https://blog.youkuaiyun.com/Loi_LXTT/article/details/78341377</link><guid>https://blog.youkuaiyun.com/Loi_LXTT/article/details/78341377</guid><author>Loi_LXTT</author><pubDate>Wed, 25 Oct 2017 14:45:00 +0800</pubDate><description><![CDATA[题目来源：USACO 2015 DEC Gold 
去题面的传送门 
 
 
状压BFS 
注意状态有思维，安全标记，方向，坐标。 
记得某dalao说过开数组的时候，把小的放前面，大的放后面会快很多。所以安全标记只需要开2，就放在最前面吧。 
还有，走到紫色格子的时候，只会朝着原来的方向滑动一格，而不是滑到底。。 
代码打起来有点恶心，调了许久 
代码：#include<iostream>
#in]]></description><category></category></item><item><title><![CDATA[codevs 1026 逃跑的拉尔夫]]></title><link>https://blog.youkuaiyun.com/Loi_LXTT/article/details/78341015</link><guid>https://blog.youkuaiyun.com/Loi_LXTT/article/details/78341015</guid><author>Loi_LXTT</author><pubDate>Wed, 25 Oct 2017 14:21:29 +0800</pubDate><description><![CDATA[去题面的传送门BFS 
状态多一维表示目前处理到第几个方向 
代码：#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<queue>
using namespace std;const int maxn=1000+10;
int N,R,C,dx,dy;
int e[maxn];
cha]]></description><category></category></item></channel></rss>