【模板】KMP
2016-04-30 12:44
295 查看
#include<iostream> #include<cstdio> #include<cstring> #define N 1000010 using namespace std; char a ,b ; int f ,j,ans; int main(){ // freopen("in.txt","r",stdin); // freopen("out.txt","w",stdout); scanf("%s\n%s\n",a+1,b+1); int la=strlen(a+1),lb=strlen(b+1); f[1]=0;j=0; for(int i=2;i<=lb;i++){ while(j && b[i]!=b[j+1]) j=f[j]; if(b[i]==b[j+1]) j++; f[i]=j; } j=0; for(int i=1;i<=la;i++){ while(j && a[i]!=b[j+1]) j=f[j]; if(a[i]==b[j+1]) j++; if(j==lb) {j=f[j];ans++;} } printf("%d\n",ans); return 0; }
相关文章推荐
- HDU-4035 Maze (概率DP&&树形DP)
- 32-3Sum
- 解读Google分布式锁服务
- 数学算法那些事
- 【模板】RMQ
- Intellij IDEA 14.1.4安装详细图解与注册方法
- 解读Google分布式锁服务
- 数学算法那些事
- 115. Distinct Subsequences *HARD* -- 字符串不连续匹配
- 细数二十世纪最伟大的十大算法
- 链接分析算法之:HillTop算法
- 【模板】后缀数组
- 【模板】tarjan
- Light oj Trailing Zeroes (III) (二分查找)
- 细数二十世纪最伟大的十大算法
- 链接分析算法之:HillTop算法
- hibernate mapping文件中 xmlns会导致linq to xml 查询不到对应的节点
- 链接分析算法之:SALSA算法
- 链接分析算法之:SALSA算法
- JAVA解析DBF文件导入到Oracle数据库中