09 2020 档案

摘要:别的都挺好理解的 难以理解的那个地方还是clone节点的问题 这里给一个非常好的例子 asabab 对这个字符串建立后缀自动机 会在最后一个字符的时候出现克隆节点的情况 仔细画一遍parent树应该就能理解了 克隆节点的意义实际上是为了把原本的一个节点拆为两个节点 为什么要拆呢 因为字符串末尾新增一 阅读全文
posted @ 2020-09-29 22:28 Creed-qwq 阅读(117) 评论(0) 推荐(0) 编辑
摘要:AC自动机的基本流程 先用所有模式串建立一颗Trie树 然后去计算Trie树每一个节点的fail指针(失配后应该转移到哪个节点) 同时额外补一些边,把Trie树改为Trie图 建立AC自动机的代码 解释一下这个补边是什么操作 比如这棵Trie树 先考虑没有额外补边的情况 如果在9号节点尝试沿着k边走 阅读全文
posted @ 2020-09-28 02:31 Creed-qwq 阅读(179) 评论(0) 推荐(0) 编辑
摘要:拿二分查找举例子 查找一个单调序列的第一个>x的位置 这里不用k分的原因是 k分的严格复杂度实际上是O(klogkn) 因为你在k分的时候 你需要花费O(k)的时间判断在这k个分支中应该选择哪一个 (从[l1,r1],[l2,r2],......[lk,rk]中选一个 阅读全文
posted @ 2020-09-26 03:50 Creed-qwq 阅读(786) 评论(0) 推荐(1) 编辑
摘要:链接:http://zhengruioi.com/problem/265 第一种操作使得你可以任意访问该字符串的全排列 因此可以得到n!a!b!c!d!种方案 然后把每一组(a,b,c,d)看成一个节点的话 第二种操作就是在这些节点中连边 最终答案就是一个最长路 tarj 阅读全文
posted @ 2020-09-25 05:15 Creed-qwq 阅读(113) 评论(0) 推荐(0) 编辑
摘要:题意: 链接:http://zhengruioi.com/problem/251 写一下k次项系数的表达式 然后利用一些数学技巧化简化简 大力NTT即可 #include<bits/stdc++.h> #define N 440000 #define L 400000 #define eps 1e- 阅读全文
posted @ 2020-09-24 05:07 Creed-qwq 阅读(154) 评论(0) 推荐(0) 编辑
摘要:1 借助mobius反演 可以推导出以下定理 i=1Nj=1Mf(gcd(i,j))=T=1min(N,M)NTMTk|Tf(k)μ(Tk) 2 在已知F 阅读全文
posted @ 2020-09-24 02:02 Creed-qwq 阅读(86) 评论(0) 推荐(0) 编辑
摘要:day4 exgcd mobius min25 day5 exgcd mobius min25 day6 kmp ac自动机 sam day7 kmp ac自动机 sam 阅读全文
posted @ 2020-09-24 01:36 Creed-qwq 阅读(94) 评论(0) 推荐(0) 编辑
摘要:1001 1002 题意:给定一个n个点的完全图,边权为lcm(i+1,j+1),求最小生成树。 考虑这样一个构造方法 所有数字都向自身的最小质因数连边 这样可以保证每个数字的贡献都是其本身,达到了理论最小。(lcm一定比自己本身要大) 然后就有了k棵以质数为根的树 然后考虑连接这k棵树 显然质数之 阅读全文
posted @ 2020-09-21 13:33 Creed-qwq 阅读(1551) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.com.cn/problem/P4721 很多题的dp方程写出来后是这种形式 这种东西当然可以cdq分治FFT解决 但实际上做一些推导就可以只利用多项式求逆解决 这个递推式可以这么来看 fn表示 用一些长度为1...n-1的长条 来组成 一个长度为n的长条一共有多 阅读全文
posted @ 2020-09-16 17:15 Creed-qwq 阅读(244) 评论(0) 推荐(0) 编辑
摘要:中间用的了一个简单的小性质 A(x)0(modxn/2)A(x)A(x)0(modxn) #include<bits/stdc++.h> #define N 阅读全文
posted @ 2020-09-16 16:24 Creed-qwq 阅读(141) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示