HDU 1686 Oulipo kmp裸题
2017-07-18 11:00
274 查看
kmp算法可参考
用cin会超时
kmp算法 汇总
#include <bits/stdc++.h> using namespace std; const int maxn=1000000+5; const int maxm=10000+5; char T[maxn],W[maxm]; void kmp_pre(char x[],int m,int nextp[]) { //自身与自身进行匹配 int i,j; i=0; j=nextp[0]=-1; while(i<m) { while(j!=-1 && x[i]!=x[j]) j=nextp[j]; nextp[++i]=++j; } } int nextp[maxm]; int KMP_Count(char x[],int m,char y[],int n) { //x是模式串,y是主串 int i,j; int ans=0; kmp_pre(x,m,nextp); i=j=0; while(i<n) { while(j!=-1 && y[i]!=x[j]) j=nextp[j]; i++,j++; if(j>=m) { ans++; j=nextp[j]; } } return ans; } int main() { // freopen("in.txt","r",stdin); int t; scanf("%d",&t); while(t--) { scanf("%s%s",W,T); printf("%d\n",KMP_Count(W,strlen(W),T,strlen(T))); } return 0; }
用cin会超时
相关文章推荐
- KMP——HDU 1686 Oulipo
- POJ 3461 && HDU 1686 Oulipo(kmp)
- HDU 1686:Oulipo(KMP入门)
- KMP——HDU 1686 Oulipo
- HDU 1686 Oulipo KMP入门
- HDU-1686 Oulipo (kmp)
- hdu 1686 Oulipo kmp
- [HDU](1686)Oulipo ---KMP(串)
- KMP——HDU 1686 Oulipo
- hdu 1686 Oulipo KMP 纯手搓
- HDU 1686 Oulipo , 同 POJ 3461 Oulipo (字符串匹配,KMP)
- Oulipo (poj 3461&&hdu 1686) KMP
- HDU 1686 Oulipo(KMP)
- hdu-1686-Oulipo (简单kmp)
- HDU 1686 Oulipo(KMP)
- HDU 1686 Oulipo(KMP水题)java实现
- HDU - 1686 Oulipo(KMP)
- HDU - 1711 - Number Sequence,1686 - Oulipo,2087 - 剪花布条,3746 - Cyclic Nacklace (KMP基础)
- Oulipo (poj 3461&&hdu 1686) KMP
- HDU 1686 Oulipo (KMP)