摘要:
还是分块>_< 强制在线求区间逆序。。如果没有空间限制的话显然是树套树? 分成根号n块,预处理出sum[i][j]表示从第i块的左端,到第j个点 这段区间内的逆序对个数。这部分可以直接树状数组O(n^1.5 logn) 那么对于每个询问,我们只要考虑左侧的零散节点对答案的贡献了。。 因此需要快速求出 阅读全文
摘要:
腾爷手把手带你卡OJ系列。 靠谱些的做法应该是替罪羊树套权值线段树= = 然而某奇怪论文表示强行块状链表并不会被卡..而且还能进第一页233。 所以就跟着腾爷学块链了= = 感觉块链就是一本正经的暴力。。。分块后,块与块之间是用链表的姿势联系在一起的。 插入的话强行插进那个块里,如果当前块的太大的话 阅读全文
摘要:
AC自动机+状压DP 首先对所有串建AC自动机,然后对于每个资源串,算出从串末走到其他资源串末所需的距离(中途避开非法点) 也就是算出两两间的距离。。。然后就变成旅行商问题了。 计算距离的时候要考虑一下。。直接从末尾走的话可能求出来的并不是最短路 所以要从fail和ch(就是虚边和实边)一起转移,走 阅读全文
摘要:
又是AC自动机上用矩乘优化DP= = 其实和上一题基本一样。。。补集转化思想。。 只是要多弄一个小矩阵求(26^1+26^2+....+26^L),并且也要求f的总和(因为是长度<=L) 直接调上一题的伪板子了= = 喜闻乐见CE了好几发。。。就因为iostream里有next这个名字的函数>_<( 阅读全文
摘要:
看到n<=20亿顿时傻眼。。AC自动机上用矩阵乘法优化DP。。。sxbk 建出AC自动机,把非法的节点去掉后求出trie图。。。 然后根据trie图中的转移关系建矩阵。。。。最后跑个快速幂 竟然搞出来了...感人肺腑 脑子各种短路。。先是矩乘打挂,然后是trie图求措TAT。调了一整节晚自修。 1 阅读全文
摘要:
初二那时候这题成功0分。 然而现在对于复杂度还是有点乱。。。 暴力做法的话。。显然就是使劲在fail树上跳,看fail链上有多少个<=长度/2的节点。 如果对于fail树上的节点,记录一下根到它的节点数的话。。每次查询的时候我们只要找到刚好<=长度/2的那个分界点就行了。 对于一条fail链,分界点 阅读全文
摘要:
splay&&树的dfs序。。。这姿势太神了。 膜了半天题解。http://blog.csdn.net/PoPoQQQ/article/details/41649197 其实写那么久主要还是因为。。我的splay模版是含有size域的那种。。。在这题就用不了了TAT(或者说加了也没什么用。。) 改姿 阅读全文
摘要:
维护全局移动量什么的后可以上线段树。 思维难度低一点的做法是直接splay。。(适合我这种脑残选手 F操作就是把2~n翻转。R操作就是把后面k个元素插到最前面来。维护颜色段是老套路了。。。 比较坑的是。。多加俩边界节点的话,需要考虑有没有可能对答案造成影响。。 然而边界节点不可能在合并子区间的时候造 阅读全文
摘要:
离线+树状数组。。 对于某个询问(S次,每次选出C个数),数列中每个数最多被减S次,只要判断(C- (数列中>=S的数个数))*S是否小于等于(数列中<S的数的和)就好了。 或者说。。把数列中>=S的数都变成S后,求一下总和是否大于等于S*C。。。 因为数字可能很大所以离线后hash一发。 网上的奇 阅读全文
摘要:
离线后 树链剖分||树状数组。 在第day天查询危险值>c的人的个数,也就是查询第(day-c-1)天及以前开始收集情报的人的个数。 所以离线后按时间排一下序。。就变成了单点修改,查询路径上已被修改的点的个数。 注意一个人可能多次开始收集情报。。一开始没注意挂了一发 突然发现。。这样的话我们直接上树 阅读全文