摘要: 考虑二分求序列LIS的过程。 g[i]表示长度为i的LIS最小以多少结尾。 对于每个数,二分寻找插入的位置来更新g数组。 放到树上也是一样,额外加上一个合并儿子的过程。 发现儿子与儿子直接是互不影响的,可以直接合并。 用启发式合并set来维护这个g数组,复杂度O(nlogn^2)。 cpp incl 阅读全文
posted @ 2018-12-06 20:07 Creed-qwq 阅读(293) 评论(0) 推荐(0) 编辑
摘要: miller rabin pollard rho 基于值域快速gcd算法 在线动态图最短路 吉老师线段树 快速狄利克雷卷积 快速矩阵乘法 高斯素数理论 回文自动机 单位根反演 斐波那契堆 https://www.cnblogs.com/gzy-cjoier/p/8426987.html第二类斯特林数 阅读全文
posted @ 2018-12-06 15:14 Creed-qwq 阅读(275) 评论(2) 推荐(0) 编辑
摘要: AC自动机技巧 可以用树上的一些算法来进行优化 对于要求支持插入和删除字符串的题目,可以通过建两个AC自动机,查询的时候作差来实现。 当给出的查询串是一个含有空格的文本时,可以用特殊字符(比如'z'+1)来替换掉空格。 阅读全文
posted @ 2018-12-06 14:42 Creed-qwq 阅读(183) 评论(0) 推荐(0) 编辑
摘要: day1 订正 学习AC自动机 day2 mobius反演 对偶图 codeforces day3 ZR模拟赛 订正 day4 复习AC自动机 题库 https://www.cnblogs.com/cjyyb/category/1036544.html 完成至少8道题 复习国庆集训课件 订正 day 阅读全文
posted @ 2018-12-06 00:26 Creed-qwq 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 转载自An_Account大佬 提示:别用莫比乌斯反演公式,会炸的 只需要记住: [gcd(i,j)=1]=∑d∣gcd(i,j)μ(d)[gcd(i,j)=1]=\sum_{d|gcd(i,j)}\mu(d)[gcd(i,j)=1]=d∣gcd(i,j)∑?μ(d) 证明?其实很简单。 μ\muμ 阅读全文
posted @ 2018-12-06 00:14 Creed-qwq 阅读(459) 评论(0) 推荐(0) 编辑
摘要: 首先,可以发现这样一个性质 x在y中出现过=======y的某个前缀的后缀等于x。 先把AC自动机建出来后。 y的每一个前缀就是它在trie树上所遍历到的每一个点。 check这个点的后缀是否等于x也就是看沿着fail指针向上能否走到x。 这也就等价于这个点在x的子树中。 考虑去如何加速这个过程。 阅读全文
posted @ 2018-12-06 00:05 Creed-qwq 阅读(206) 评论(0) 推荐(0) 编辑