
字符串
Devil Zoey
这个作者很懒,什么都没留下…
展开
-
2019徐州网络赛G
2019徐州网络赛G 题意 给定s字符串,定义一个回文串的价值是这个回文串中不同字母的个数,求s中所有回文串的价值之和. 思路 马拉车加序列自动机. 代码 #include<bits/stdc++.h> using namespace std; const int maxn=610010; char Ma[maxn]; int Mp[maxn]; int Next[maxn][...原创 2019-09-10 18:19:25 · 264 阅读 · 0 评论 -
POJ3974(字符串hash和马拉车算法)
POJ3974 题意 求给定字符串的最长回文子串的长度. 思路 马拉车算法或者字符串hash 代码 马拉车算法 #include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int maxn=2e6+10; char Ma[maxn]; int Mp[m...原创 2019-09-13 15:00:43 · 357 阅读 · 0 评论 -
HDU2222
HDU2222 题意 求目标串中出现了几个模式串. 思路 ac自动机模板题. 代码 #include<bits/stdc++.h> using namespace std; struct Trie{ int next[500010][26],fail[500010],end[500010]; int root,L; int newnode(){ ...原创 2019-09-19 21:37:49 · 118 阅读 · 0 评论 -
HDU2896 HDU3065(AC自动机)
HDU2896 题意 求目标串中出现了几个给定的子串. 思路 ac自动机模板题(). 代码 #include<bits/stdc++.h> using namespace std; struct Trie { int next[105010][130],fail[105010],end[105010]; int root,L; int newnode()...原创 2019-09-20 21:15:02 · 126 阅读 · 0 评论 -
poj2778(ac自动机+矩阵快速幂)
HDU2778 题意 求长度为m且不包含n个子串的种类数. 思路 参考自这个博客. ac自动机+矩阵快速幂. 这儿有个结论. 给定一个有向图,问从A点恰好走k步(允许重复经过边)到达B点的方案数mod p的值 把给定的图转为邻接矩阵,即A(i,j)=1当且仅当存在一条边i->j。令C=A*A,那么C(i,j)=ΣA(i,k)*A(k,j), 实际上就等于从点i到点j恰好经过2条边的路径...原创 2019-09-22 13:33:13 · 357 阅读 · 0 评论 -
HDU2243
HDU2243 题意 求长度为m且包含1-n个子串的种类数. 思路 首先计算26+262+....+26m26+26^2+....+26^m26+262+....+26m,构造矩阵为 [sum(m+1)1]=[sum(m)(初始sum(1)=26)1]∗[260261] \left[ \begin{matrix} sum(m+1) & 1 \end{matrix} \...原创 2019-09-23 15:31:46 · 404 阅读 · 0 评论 -
HDU2825
HDU2825 题意 求长度为n且至少包含k个给定子串的种类数. 思路 AC自动机+状压dp. 对end[]节点标记数组进行改动,用二进制下第几位表示即为包含第几个给定子串.dp转移方程为 dp[i+1][nex][k|end[nex]]=(dp[i+1][nex][k|end[nex]]+dp[i][j][k])%mod 第一维表示长度,第二维表示到达哪个节点第三维表示用了哪几个给定子串....原创 2019-09-24 10:37:20 · 265 阅读 · 0 评论