HDU-4552 怪盗基德的挑战书
2013-05-27 15:46
267 查看
KMP[b]算法[/b]
有KMP的想法在,预处理是一样的。
这是白书上的KMP算法的写法。
有KMP的想法在,预处理是一样的。
这是白书上的KMP算法的写法。
#include<cstdio> #include<iostream> #include<cstring> using namespace std; void getFail(char* P,int* f) { int m=strlen(P); f[0]=0; f[1]=0; for(int i=1;i<m;i++) { int j=f[i]; while(j&&P[i]!=P[j]) j=f[j]; f[i+1]=(P[i]==P[j]?j+1:0); } // for(int i=0;i<=m;i++) // cout<<f[i]<<endl; } int main() { char P[100008]; int f[100008]; int i,j; int ans; while(~scanf("%s",P)) { int n=strlen(P); ans=0; getFail(P,f); for(i=2;i<=n;i++) for(j=f[i];j!=0;j=f[j]) ans++; ans+=n; printf("%d\n",ans%256); } return 0; }
相关文章推荐
- 【HDU】4552 怪盗基德的挑战书 【后缀数组】
- [后缀数组+RMQ] hdu 4552 怪盗基德的挑战书
- hdu 4552 怪盗基德的挑战书
- hdu 4552 怪盗基德的挑战书
- [hdu 4552] 怪盗基德的挑战书
- Hdu 4552 怪盗基德的挑战书 (所有前缀出现次数和 后缀数组或KMP)
- hdu 4552 怪盗基德的挑战书
- HDU 4552 怪盗基德的挑战书(后缀数组)
- HDU 4552 怪盗基德的挑战书 【EXKMP】
- HDU-4552 怪盗基德的挑战书 KMP | 后缀数组 | 暴力
- hdu 4552 怪盗基德的挑战书 (kmp+dp)
- 【HDU 4552】怪盗基德的挑战书 【KMP next数组的巧妙应用】
- hdu 4552 怪盗基德的挑战书【KMP+dp || 优雅暴力】
- HDU - 4552 怪盗基德的挑战书
- Hdu 4552 怪盗基德的挑战书
- 怪盗基德的挑战书 HDU - 4552
- 【HDU 4552】怪盗基德的挑战书(kmp)
- HDU 4552 怪盗基德的挑战书
- HDU - 4552 怪盗基德的挑战书 (后缀数组)
- HDU 4552 怪盗基德的挑战书 (KMP + DP) 或 后缀数组