HDU 3336 KMP 求所有前缀在母串中出现的次数

2014-11-24 01:24:14 · 作者: · 浏览: 2
题意:
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 */