这样的题解只能舔题解了,,,qaq清橙资料里有。。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 9 using namespace std; 10 1...
分类:
其他好文 时间:
2015-12-31 07:15:57
阅读次数:
229
首先考虑暴力,可以枚举每两个点求lca进行计算,复杂度O(n^3logn),再考虑如果枚举每个点作为lca去枚举这个点的子树中的点复杂度会大幅下降,如果我们将每个点递归考虑,每次计算过这个点就把这个点删掉,那么如果每次删掉的点是当前子树的重心,枚举点对的复杂度就只有O(logn),对于每次查询答案在...
分类:
其他好文 时间:
2015-12-31 07:13:35
阅读次数:
177
m方枚举,并查集O(1)维护,傻逼题,,被自己吓死搞成神题了。。。 1 #include 2 3 using namespace std; 4 5 struct tri { int x,y,z; bool operator vec;10 11 int get_anc(const i...
分类:
其他好文 时间:
2015-12-31 07:12:07
阅读次数:
156
概率dp第一题,开始根本没搞懂,后来看了09年汤可因论文才基本搞懂,关键就是递推的时候做差比较一下,考虑新加入的情况对期望值的贡献,然后推推公式(好像还是不太会推qaq...) 1 #include 2 3 using namespace std; 4 5 int n,m; 6 long...
分类:
其他好文 时间:
2015-12-31 07:11:32
阅读次数:
208
要使用莫队算法前提 ,已知[l,r]的答案,要能在logn或者O(1)的时间得到[l+1,r],[l-1,r],[l,r-1],[l,r+1],适用于一类不修改的查询优美的替代品——分块将n个数分成sqrt(n)块按区间排序,以左端点所在块内为第一关键字,右端点为第二关键字,进行排序也就是以( po...
分类:
编程语言 时间:
2015-12-10 12:56:15
阅读次数:
234
Description作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿。终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命……具体来说,小Z把这N只袜子从1到N编号,然后从编号L到R(L尽管小Z并不在意两只袜子是不是完整的一双,甚至不在意两只袜子是否一...
分类:
其他好文 时间:
2015-12-03 20:52:09
阅读次数:
177
2009国家集训队徐持衡的论文《浅谈几类背包问题》里提到的一个经典问题:长度限制最大连续和问题: 给出长度为 n 的序列 X i ,求这个序列中长度不超过 Lmax 的最大连续和。Implementation#include using namespace std;const int N(1e5+....
分类:
其他好文 时间:
2015-12-01 21:14:34
阅读次数:
205
按Dfs序逐个插入点,建立可持久化线段树,每次查询即可,具体详见代码。不知道为什么,代码慢的要死,,#include #include #include #include #include #include #include #include using namespace std;template...
分类:
其他好文 时间:
2015-11-26 10:55:30
阅读次数:
141
以后似乎终于不用去学后缀数组的倍增搞法||DC3等blablaSXBK的方法了= =定义(来自关于后缀数组的那篇国家集训队论文。。)后缀数组:后缀数组SA是一个一维数组,它保存1..n的某个排列SA[1],SA[2],……,SA[n],并且保证Suffix(SA[i])#include#includ...
分类:
编程语言 时间:
2015-11-23 22:03:26
阅读次数:
259
后缀数组,解决字符串问题的有利工具,本题代码为倍增SA算法具体解释详见2009年国家集训队论文 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 9 using namespa...
分类:
编程语言 时间:
2015-11-19 16:25:41
阅读次数:
248