T个测试数据
n表示母串长度
下面给定母串
问母串的所有前缀,在母串中出现的次数和
而所有前缀和 的状态转移方程很显然是 dp[i] = dp[ f[i] ] + 1;
则 ans = 求和 dp
#include#include char P[200100];//从0开始存 int f[200100];//记录P的自我匹配 int len; void getFail(){ f[0]=f[1]=0; for(int i=1;i 10007)ans %= 10007; } printf("%d\n",ans); } return 0; } /* 99 4 abab 6 ababab */