kmp 模板
2017-10-05 13:08
169 查看
#include<bits/stdc++.h> using namespace std; const int maxn=1e6+5; int t,cnt,_next[maxn]; char s[maxn],a[maxn]; void get_next(char *s,int n) { int i=0,j=-1; _next[0]=-1; while(i<n) { while(j!=-1&&s[i]!=s[j]) j=_next[j]; i++; j++; if(j>=n) _next[i]=_next[j-1]; else _next[i]=j; } } void kmp(char *a,int n,char *s,int m) { cnt=0; get_next(s,m); int i=0,j=0; while(i<n) { while(j!=-1&&a[i]!=s[j]) j=_next[j]; i++; j++; if(j>=m) { j=_next[j]; cnt++; } } printf("%d\n",cnt); } int main() { scanf("%d",&t); while(t--&&scanf("%s%s",s,a)!=EOF) kmp(a,strlen(a),s,strlen(s)); return 0; }
相关文章推荐
- KMP模板
- KMP 模板
- hdu1711 记录一个kmp模板
- hihocoder 1015 KMP算法 (KMP模板)
- hdu4300Clairewd’s message(kmp||exkmp)( 模板 )
- HDU 4333 浅谈扩展KMP 线性求NXT数组模板
- (LA3026) Period -- KMP again (KMP 模板)
- 【模板】KMP
- poj2752 kmp 模板题
- POJ 3461 KMP 模板题 字串出现次数
- KMP 模板
- KMP模板(KMP)
- 扩展KMP模板
- hdu 1711 Number Sequence(kmp模板题)
- POJ 3461 Oulipo (KMP模板题)
- KMP 算法模板
- KMP模板
- kmp模板
- 完美拓印(kmp模板)
- kuangbin专题16A(kmp模板)