KMP模板

来源:互联网 发布:电机选型软件 编辑:程序博客网 时间:2024/05/22 00:49

大白里的KMP模板,测试了一下,比大话数据结构的模板快一些


int ans=0;#define N 1000000+5char s1[N],s2[N];int fail[N];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;}}void find(char *t,char *p,int *f){int n=strlen(t),m=strlen(p);getfail(p,f);int j=0;for(int i=0;i<n;i++){while(j&&p[j]!=t[i])j=f[j];if(p[j]==t[i])j++;if(j==m)ans++;}}


0 0
原创粉丝点击