KMP——模板整理
来源:互联网 发布:dw for mac中文破解版 编辑:程序博客网 时间:2024/05/19 09:17
用于字符串匹配问题。
时间复杂度O(n+m)
#include<cstdio>#include<cstring>char a[100005],b[100005];int nxt[100005],len1,len2;void make_nxt(){ nxt[1]=0; int j=0; for(int i=2;i<=len2;i++){ while(j&&b[j+1]==b[i]) j=nxt[j]; if(b[j+1]==b[i]) j++; nxt[i]=j; }}void KMP(){ int j=0; for(int i=1;i<=len1;i++){ while(j&&a[i]!=b[j+1]) j=nxt[j]; if(a[i]==b[j+1]) j++; if(j==len2){ printf("a[%d~%d]==b\n",i-len2+1,i); j=nxt[j]; } }}int main(){ freopen("kmp.in","r",stdin); freopen("kmp.out","w",stdout); scanf("%s",a+1); len1=strlen(a+1); scanf("%s",b+1); len2=strlen(b+1); make_nxt(); KMP(); return 0;}
0 0
- KMP——模板整理
- 模板整理之KMP
- 数据结构—KMP模板
- C++——KMP模板
- 算法学习之KMP(模板整理)
- 算法整理——KMP算法
- 深夜敲模板_5——KMP
- ACM常用模板——扩展KMP
- ACM模板——KMP算法
- Dinic——模板整理
- LCT——模板整理
- 树链剖分——模板整理
- fhq_Treap——模板整理
- ACM常用模板——字符串匹配——KMP
- czl蒟蒻的模板库3——KMP
- HDU1711 ——Number Sequence(KMP模板题)
- KMP【整理】
- KMP 整理
- 详细的Dagger2+MVP融合,一行一行分析,一点一点进步,之一
- 测试字符串中是否包含重复字符
- Android stadio 工具使用
- 1084. Broken Keyboard
- HTTP协议详解
- KMP——模板整理
- 403. Frog Jump
- 部署笔记-centos 7.0 mysql篇
- 1085. Perfect Sequence
- MYSQL搜索引擎
- 最长对称子串
- POJ
- ubuntu装系统之——重装Windows之后Ubuntu引导不见了
- 信息安全审计系统S-Audit