摘要:
又一次把lct写炸了,硬着头皮终于改对了
阅读全文
posted @ 2018-03-15 21:35
湮灭之瞳
阅读(133)
推荐(0)
摘要:
代码参考:http://blog.csdn.net/qq_33229466/article/details/79140428
阅读全文
posted @ 2018-03-10 21:01
湮灭之瞳
阅读(141)
推荐(0)
摘要:
学习地址:http://blog.csdn.net/lych_cys/article/details/51512278
阅读全文
posted @ 2018-03-08 20:28
湮灭之瞳
阅读(186)
推荐(0)
摘要:
把边的编号看成边权,维护每个状态对应的最大生成树,得到一个数组a[i],表示第i条边在这个过程中替换的是那条边,询问时看一下a[l,r]内啊有多少个小于l的算一下答案就好;代码参考:http://blog.csdn.net/thy_asdf/article/details/50518526
阅读全文
posted @ 2018-03-05 14:17
湮灭之瞳
阅读(126)
推荐(0)
摘要:
代码参考:http://blog.csdn.net/sdfzyhx/article/details/74359927
阅读全文
posted @ 2018-03-04 19:57
湮灭之瞳
阅读(127)
推荐(0)
摘要:
用常用的套路,排序之后从大到小插入height,用并查集维护即可。
阅读全文
posted @ 2018-02-19 13:10
湮灭之瞳
阅读(137)
推荐(0)
摘要:
学习了回文树,地址:http://blog.csdn.net/u013368721/article/details/42100363; 这个题就是正这反着加一遍就好,一开始我想的是枚举每个位置,然后一直按fail跳,再接上跳完的位置的len,后来想了不行,一个很长的全是a的串就可以卡成n^2。
阅读全文
posted @ 2018-02-17 13:26
湮灭之瞳
阅读(114)
推荐(0)
摘要:
二分答案,(具体可见http://blog.csdn.net/neither_nor/article/details/51669114),然后就是判定问题,sa和sam都可以做,用sam写了一下,先用sam建后缀树,然后用主席树维护right集合就好了,每次判断把对应节点倍增到深度为mid的点,然后
阅读全文
posted @ 2018-01-31 18:17
湮灭之瞳
阅读(111)
推荐(0)
摘要:
因为题目中树的特殊性暴力dfs建sam就好了。然后sam有一个有意思的性质是一个点代表的子串个数等于mx[i]-mx[fail[i]],至于为什么,我不会严谨的证明,但想想还是可以的,就是当前串的所有后缀减去前面已经表示过的后缀吗。其实这个个数也可以一个dp跑出来的,只不过这种方法更卓越。
阅读全文
posted @ 2018-01-31 10:46
湮灭之瞳
阅读(112)
推荐(0)
摘要:
后缀自动机还是只会打板子,已经知道它是个什么东西了,但还是和它的构造联系不起来。。先背板子吧。 后缀自动机有一个很好的特性就是可以涵盖所有不重复的子串,我们利用这一点在它上面dp就行了; 代码参考:http://blog.csdn.net/fuxey/article/details/51050474
阅读全文
posted @ 2018-01-30 20:59
湮灭之瞳
阅读(151)
推荐(0)