<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[折戟沉沙]]></title><description><![CDATA[深夜的光都留在心里，犹如不会熄灭的火焰燃烧着]]></description><link>https://blog.youkuaiyun.com/Lifel</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Lifel]]></copyright><item><title><![CDATA[博客停更~~~]]></title><link>https://blog.youkuaiyun.com/Lifel/article/details/77985950</link><guid>https://blog.youkuaiyun.com/Lifel/article/details/77985950</guid><author>Lifel</author><pubDate>Thu, 14 Sep 2017 22:03:32 +0800</pubDate><description><![CDATA[csdn新皮肤太恶心了,受不了,于是乎换了]]></description><category></category></item><item><title><![CDATA[bzoj1452: [JSOI2009]Count(二维树状数组)]]></title><link>https://blog.youkuaiyun.com/Lifel/article/details/77971962</link><guid>https://blog.youkuaiyun.com/Lifel/article/details/77971962</guid><author>Lifel</author><pubDate>Wed, 13 Sep 2017 22:21:29 +0800</pubDate><description><![CDATA[二维树状数组裸题,开一百个树状数组维护每一个颜色个数即可
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#define fo(i,a,b) for(int i=a;i<=b;i++)
#define fod(i,a,b) for(int i=a;i>=b;i--)
u]]></description><category></category></item><item><title><![CDATA[bzoj3631: [JLOI2014]松鼠的新家 树链剖分||树形dp]]></title><link>https://blog.youkuaiyun.com/Lifel/article/details/77971251</link><guid>https://blog.youkuaiyun.com/Lifel/article/details/77971251</guid><author>Lifel</author><pubDate>Wed, 13 Sep 2017 21:24:57 +0800</pubDate><description><![CDATA[题目大意: 
每次对一条链进行区间修改,最后询问每个点的点权树剖裸题,似乎dfs序也可以做?有时间再补#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#define fo(i,a,b) for(int i=a;i<=b;i++)
#define fod(i,a,b) f]]></description><category></category></item><item><title><![CDATA[【bzoj1827】[Usaco2010 Mar]gather 奶牛大集会 树形dp+贪心]]></title><link>https://blog.youkuaiyun.com/Lifel/article/details/77970475</link><guid>https://blog.youkuaiyun.com/Lifel/article/details/77970475</guid><author>Lifel</author><pubDate>Wed, 13 Sep 2017 20:13:22 +0800</pubDate><description><![CDATA[由x转移到y的答案为ans=ans+val∗(s[1]−s[y]∗2)ans=ans+val*(s[1]-s[y]*2) 
可以看出只有s[1]−s[y]∗2<0s[1]-s[y]*2<0答案才会减小,所以贪心即可#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#inc]]></description><category></category></item><item><title><![CDATA[bzoj1688: [Usaco2005 Open]Disease Manangement 疾病管理 状压dp]]></title><link>https://blog.youkuaiyun.com/Lifel/article/details/77968172</link><guid>https://blog.youkuaiyun.com/Lifel/article/details/77968172</guid><author>Lifel</author><pubDate>Wed, 13 Sep 2017 16:52:55 +0800</pubDate><description><![CDATA[题意:给定n个集合,询问能够组成一种特定集合所能选的最大个数 
很水的题,注意循环顺序(我一开始写反了)#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#define fo(i,a,b) for(int i=a;i<=b;i++)
#define fod(i,a,b)]]></description><category></category></item><item><title><![CDATA[bzoj2073: [POI2004]PRZ 状压dp]]></title><link>https://blog.youkuaiyun.com/Lifel/article/details/77967317</link><guid>https://blog.youkuaiyun.com/Lifel/article/details/77967317</guid><author>Lifel</author><pubDate>Wed, 13 Sep 2017 16:01:18 +0800</pubDate><description><![CDATA[想一下最优子结构,要解决一个集合,那么它的真子集一定是最优的,所以枚举子集,由子集转移过来3163^{16}.预处理,每个子集的时间和重量. 
PS:本来维护集合想用类似树状数组的方法 ,但时间不具有区间可加性#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#defin]]></description><category></category></item><item><title><![CDATA[bzoj2046分裂]]></title><link>https://blog.youkuaiyun.com/Lifel/article/details/77965921</link><guid>https://blog.youkuaiyun.com/Lifel/article/details/77965921</guid><author>Lifel</author><pubDate>Wed, 13 Sep 2017 14:40:50 +0800</pubDate><description><![CDATA[只可会意,不能言传的一道题 
注意:枚举状态从1开始而不是0,因为sum0=0sum_{0}=0会影响答案#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#define fo(i,a,b) for(int i=a;i<=b;i++)
#define fod(i,a,b)]]></description><category></category></item><item><title><![CDATA[bzoj1231[Usaco2008 Nov]mixup2 混乱的奶牛 状压dp]]></title><link>https://blog.youkuaiyun.com/Lifel/article/details/77963138</link><guid>https://blog.youkuaiyun.com/Lifel/article/details/77963138</guid><author>Lifel</author><pubDate>Wed, 13 Sep 2017 10:50:34 +0800</pubDate><description><![CDATA[题目大意:给定一个长度为n的序列,询问任意相差都大于给定k的排列的数量一开始做的时候看错题了,以为只要任意有一个就要计算方案数,设计了一个状态 
fi,j,k,lf_{i,j,k,l} i表示当前算了i个,j表示当前压缩的状态,k表示当前结尾,l表示此时为混乱或混乱Orz 
正确的只有fi,jf_{i,j}i表示结尾,j表示状态,不需要第几个的原因是枚举的状态是递增的,求计算当前状态是基于已经计算好]]></description><category></category></item><item><title><![CDATA[bzoj1725: [Usaco2006 Nov]Corn Fields牧场的安排 状压dp]]></title><link>https://blog.youkuaiyun.com/Lifel/article/details/77961910</link><guid>https://blog.youkuaiyun.com/Lifel/article/details/77961910</guid><author>Lifel</author><pubDate>Wed, 13 Sep 2017 09:31:07 +0800</pubDate><description><![CDATA[题目大意:没有放置限制和左上,右上,左下,右下限制的bzoj1087 [SCOI2005]互不侵犯King 
做法同, 
先预处理合法的状态,然后转移 
PS:枚举当前这一层和上一层状态的顺序是不重要的(即j,kj,k),因为无论什么顺序,上一层的答案都全部被处理出来了#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstri]]></description><category></category></item><item><title><![CDATA[bzoj1087 [SCOI2005]互不侵犯King]]></title><link>https://blog.youkuaiyun.com/Lifel/article/details/77951443</link><guid>https://blog.youkuaiyun.com/Lifel/article/details/77951443</guid><author>Lifel</author><pubDate>Tue, 12 Sep 2017 22:32:37 +0800</pubDate><description><![CDATA[#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#define fo(i,a,b) for(int i=a;i<=b;i++)
#define fod(i,a,b) for(int i=a;i>=b;i--)
using namespace std;
const int]]></description><category></category></item><item><title><![CDATA[bzoj1072[SCOI2007]排列perm]]></title><link>https://blog.youkuaiyun.com/Lifel/article/details/77949533</link><guid>https://blog.youkuaiyun.com/Lifel/article/details/77949533</guid><author>Lifel</author><pubDate>Tue, 12 Sep 2017 20:53:26 +0800</pubDate><description><![CDATA[题目大意: 
给定n个数字,求这些数字组成的不重复的全排列中有多少整除d 
暴力:用next_permutation+set判重暴力判断(据说是可以过的)大常数选手又T掉了#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<set>
#define fo(]]></description><category></category></item><item><title><![CDATA[bzoj4893项链分赃]]></title><link>https://blog.youkuaiyun.com/Lifel/article/details/77948287</link><guid>https://blog.youkuaiyun.com/Lifel/article/details/77948287</guid><author>Lifel</author><pubDate>Tue, 12 Sep 2017 18:27:05 +0800</pubDate><description><![CDATA[结论:答案小于等于颜色数 
暴力判断1,前缀和 
2,用一个队列维护,使所有颜色数等于一半 
拓扑学证明B站有视频#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<queue>
#define fo(i,a,b) for(int i=a;i<=b;i++]]></description><category></category></item><item><title><![CDATA[集训考试2]]></title><link>https://blog.youkuaiyun.com/Lifel/article/details/77946897</link><guid>https://blog.youkuaiyun.com/Lifel/article/details/77946897</guid><author>Lifel</author><pubDate>Tue, 12 Sep 2017 16:39:57 +0800</pubDate><description><![CDATA[今天四道原题: 
T1:BZOJ1179 APIO2009抢掠计划 
缩点+spfa最长路 
T2:bzoj2081Beads 
枚举每一个可能的k(调和级数O(nologn)O(nologn)),然后字符串hash+map(set)记录出现数#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<]]></description><category></category></item><item><title><![CDATA[Codevs1506]]></title><link>https://blog.youkuaiyun.com/Lifel/article/details/77937943</link><guid>https://blog.youkuaiyun.com/Lifel/article/details/77937943</guid><author>Lifel</author><pubDate>Mon, 11 Sep 2017 21:10:45 +0800</pubDate><description><![CDATA[判断一个点是否在环上,暴力深搜,知道重复为止#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#define fo(i,a,b) for(int i=a;i<=b;i++)
#define fod(i,a,b) for(int i=a;i>=b;i--)
using na]]></description><category></category></item><item><title><![CDATA[bzoj1529: [POI2005]ska Piggy banks(tarjan||并查集)]]></title><link>https://blog.youkuaiyun.com/Lifel/article/details/77937180</link><guid>https://blog.youkuaiyun.com/Lifel/article/details/77937180</guid><author>Lifel</author><pubDate>Mon, 11 Sep 2017 20:02:11 +0800</pubDate><description><![CDATA[题目大意:求联通块的数量 
显然可以想到tarjan缩点之后统计出度为0的点的数量 
但这题会MLE#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#define fo(i,a,b) for(int i=a;i<=b;i++)
#define fod(i,a,b) fo]]></description><category></category></item><item><title><![CDATA[bzoj1051(缩点)]]></title><link>https://blog.youkuaiyun.com/Lifel/article/details/77936548</link><guid>https://blog.youkuaiyun.com/Lifel/article/details/77936548</guid><author>Lifel</author><pubDate>Mon, 11 Sep 2017 18:58:45 +0800</pubDate><description><![CDATA[tarjan缩点后,若有出度为0的,输出其强联通块的大小,否则无解#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#define fo(i,a,b) for(int i=a;i<=b;i++)
#define fod(i,a,b) for(int i=a;i>=b;i-]]></description><category></category></item><item><title><![CDATA[集训考试1]]></title><link>https://blog.youkuaiyun.com/Lifel/article/details/77934405</link><guid>https://blog.youkuaiyun.com/Lifel/article/details/77934405</guid><author>Lifel</author><pubDate>Mon, 11 Sep 2017 16:13:51 +0800</pubDate><description><![CDATA[T1: 
题目大意:有n个点,使它们与某个点直接或间接相连 
题解:裸Kruskal#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#define fo(i,a,b) for(int i=a;i<=b;i++)
#define fod(i,a,b) for(int i=]]></description><category></category></item><item><title><![CDATA[bzoj2152点分治]]></title><link>https://blog.youkuaiyun.com/Lifel/article/details/77924357</link><guid>https://blog.youkuaiyun.com/Lifel/article/details/77924357</guid><author>Lifel</author><pubDate>Sun, 10 Sep 2017 19:45:13 +0800</pubDate><description><![CDATA[考虑三的倍数的计算: 
即t[1]∗t[2]+t[0]2t[1]*t[2]+t[0]^2(每一个点对都计算两次),然后用整个点减去只在子树中出现的即可#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#define fo(i,a,b) for(int i=a;i<=b;i]]></description><category></category></item><item><title><![CDATA[poj1741点分治]]></title><link>https://blog.youkuaiyun.com/Lifel/article/details/77924312</link><guid>https://blog.youkuaiyun.com/Lifel/article/details/77924312</guid><author>Lifel</author><pubDate>Sun, 10 Sep 2017 19:40:18 +0800</pubDate><description><![CDATA[点分治一般按点分为两种情况： 
1:过该点,则遍历统计答案 
2:不过,递归到子树重心统计 
然后合并答案#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#define fo(i,a,b) for(int i=a;i<=b;i++)
#define fod(i,a,b)]]></description><category></category></item><item><title><![CDATA[bzoj1131 树形dp]]></title><link>https://blog.youkuaiyun.com/Lifel/article/details/77899529</link><guid>https://blog.youkuaiyun.com/Lifel/article/details/77899529</guid><author>Lifel</author><pubDate>Fri, 08 Sep 2017 22:04:40 +0800</pubDate><description><![CDATA[闲着无聊做水题2#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#define fo(i,a,b) for(int i=a;i<=b;i++)
#define fod(i,a,b) for(int i=a;i>=b;i--)
using namespace std;
c]]></description><category></category></item></channel></rss>