摘要:
思路: 暴力能过的 嘿嘿嘿我是来练带修莫队的嗯 复杂度 O(n^5/3)//By SiriusRen#include #include #include using namespace std;const int N=1050000;int n,m,a[N],cnt1,cnt2,... 阅读全文
摘要:
这里就算是一个小总结吧… 附参考的网址: http://blog.sina.com.cn/s/blog_6a46cc3f0100s2qf.html http://www.cnblogs.com/hankers/archive/2012/08/03/2622231.html 首先 B... 阅读全文
摘要:
思路: 先处理出来f[j]表示这i个物品都可用 填满容量j的方案数容斥一发处理出来g[j]=g[j-w[i]] 表示i不能用的时候 填满容量j的方案数//By SiriusRen#include using namespace std;int n,m,w[2005],f[2005... 阅读全文
摘要:
题意: N个数,M组询问,每次问[l,r]中有多少个数出现正偶数次。 思路: 把N个数分成sqrt(n)块,预处理d[i][j]表示第i块起点到第j块末尾的答案 枚举起点i,并维护一个数组记录每个数到目前为止出现的次数,从偶变奇、从奇变偶时相应增减答案。 把每个数在数列中出现的位置... 阅读全文
摘要:
这是一个坑 竟然卡nsqrt(n)logn T死 等更 //By SiriusRen #include <cmath> #include <cstdio> #include <algorithm> using namespace std; #define Max(x,y) x>y?x:y; cons 阅读全文
摘要:
思路: 这个DP太神了… 完全没想到 http://blog.csdn.net/geotcbrl/article/details/49663401//By SiriusRen#include #include #include using namespace std;int n;l... 阅读全文
摘要:
思路: 肯定从小往大填合适了 f[i][j]表示第i个数是j的最少逆序对数 f[i][j]=min(f[i-1][k]+cost,f[i][j]) 优化一下成O(nk)就好啦~ (不优化也可以过的…)//By SiriusRen#include #include #include... 阅读全文
摘要:
思路: 主席树维护可持久化数组 剩下的就是普通的并查集了…//By SiriusRen#include #include #include using namespace std;const int N=200050;int n,m,op,xx,yy,L[N*50],R[N*50]... 阅读全文
摘要:
思路: f[i][j] 表示节点i 染成j时 子树的最小权值 (我会猜这个j很小 你打我吖~) 随便DP一发就好了 (证明我也不会)//By SiriusRen#include #include #include using namespace std;const int N=20... 阅读全文
摘要:
思路: 线段树表示的是时间 每回最多log个段 区间覆盖 一直到叶子 的线性基 xor 一下 就是答案 一开始没有思路 看了这篇题解 豁然开朗 http://www.cnblogs.com/joyouth/p/5333181.html (还是本省的前辈呢)//By Siri... 阅读全文