摘要: fft 搞一个生成函数 对于每位A(j)=Σi=1->m (a[i]-b[i+j])^2*a[i]*b[i+j] 如果A(j)=0说明这位匹配 如果这位是*那么a[i]=0否则等于字母-'a'+1,b也是这样构造 然后我们翻转a串就可以加速了 #include<bits/stdc++.h> usin 阅读全文
posted @ 2017-12-15 15:42 19992147 阅读(74) 评论(0) 推荐(0) 编辑
摘要: 上次学fft还是5月份,昨天发现已经忘记怎么推导了,代码也看不懂了,就又学习了一发,大概是看menci的博客 0.fft可以进行多项式乘法,朴素的乘法跟手算一样是O(n^2),fft可以通过分治做到nlogn 1.点值表示:首先我们平常看见的多项式都是系数表示,类似于a0+a1*x^1+a2*x^2 阅读全文
posted @ 2017-12-15 09:24 19992147 阅读(248) 评论(0) 推荐(0) 编辑
摘要: AC自动机+状压dp 多串匹配要想ac自动机 dp[i][S]表示在i状态选中S 转移就用bfs,每个点通过fail收集信息,不要忘记通过fail传递 昨天搞不明白为什么自动机每次只可以转移儿子,不可以转移fail,问了问大概知道因为儿子是最长的后缀,包含的信息最多,包含了其他fail的信息,就相当 阅读全文
posted @ 2017-12-15 07:50 19992147 阅读(215) 评论(0) 推荐(0) 编辑
摘要: K短路 和超级钢琴之类的差不多 先反图跑最短路,从原点向外拓展,每个点最多拓展k次,否则不可能是k短路 #include<bits/stdc++.h> using namespace std; typedef pair<int, int> pii; const int N = 1e4 + 5, in 阅读全文
posted @ 2017-12-15 07:45 19992147 阅读(141) 评论(0) 推荐(0) 编辑