KMP模板
来源:互联网 发布:云南映象知乎 编辑:程序博客网 时间:2024/06/02 04:23
hdu 2087即一道模板题,这个没有什么要注意的,处理相关类型的题目一定要灵活运用f[i]的性质。(本人参考的是刘汝佳大神的写法,在蓝书上P212可以找到详细解释)
#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;const int MAX=1004;char T[MAX],W[MAX];int n,m,f[MAX],sum;void getfail(char *W) { f[0]=f[1]=0; for (int i=1;i<m;i++) { int j=f[i]; while (j&&W[j]!=W[i]) j=f[j]; f[i+1]=W[i]==W[j]?j+1:0; }}void kmp(char *T,char *W) { getfail(W); int j=0; for (int i=0;i<n;i++) { while (j&&T[i]!=W[j]) j=f[j]; if (T[i]==W[j]) j++; if (j==m) sum++,j=0; }}int main() { while (scanf("%s%s",T,W)&&T[0]!='#') { n=strlen(T),m=strlen(W),sum=0; kmp(T,W); printf("%d\n",sum); } return 0;}
阅读全文
1 0
- KMP模板
- KMP 模板
- kmp模板
- kmp模板
- kmp模板
- KMP模板
- kmp模板
- kmp模板
- KMP 模板
- 【模板】KMP
- KMP模板
- KMP模板
- 【KMP 模板】
- KMP模板
- KMP 模板
- kmp模板
- KMP模板
- KMP 模板
- PDB文件:每个开发人员都必须知道的
- 20个不可思议的 WebGL 示例和演示
- position跟display、margin collapse、overflow、float这些特性相互叠加后会怎么样?
- 一只萌新的linux体验13
- Linux 条件判断
- KMP模板
- linux下设置简单防火墙
- 刷题报告004 洛谷P1007独木桥
- java面试题
- Web数据存储及应用缓存以及web worker
- HDU 畅通工程续
- [已解决]vagrant共享文件夹挂载失败.Vagrant was unable to mount VirtualBox shared folders
- 嵌入式系统的启动过程
- hover不能做事件委托