poj3461KMP匹配
来源:互联网 发布:rhel7关闭linux防火墙 编辑:程序博客网 时间:2024/06/06 10:51
经典KMP
重要点在于NEXT数组的使用
#include<cstdio>#include<cstring>#define MAXN 1010010#define MAXM 11000using namespace std;char N1[MAXN],M1[MAXM];int T,N,M,next[MAXM];void createnext(int M){ int i=0,j=-1; next[i]=-1; while(i<M){ if(j==-1||M1[i]==M1[j]){ i++;j++; next[i]=j; } else{ j=next[j]; } }}int kmp(int N,int M){ int i = 0, j = 0,ans = 0; while(i<N) { if(N1[i]==M1[j]||j==-1)i++,j++; else j = next[j]; if(j==M) { ans++; j = next[j-1]; i--; } } return ans;}int main(){ scanf("%d",&T); while(T--) { memset(N1,0,sizeof(N1)); memset(M1,0,sizeof(M1)); memset(next,0,sizeof(next)); scanf("%s%s",M1,N1); N = strlen(N1),M = strlen(M1); createnext(M); printf("%d\n",kmp(N,M)); } return 0;}
阅读全文
0 0
- poj3461KMP匹配
- POJ3461KMP
- POJ3461KMP模板
- poj3461KMP算法模板
- 匹配.
- 匹配
- 匹配
- 匹配
- 匹配
- 匹配
- 匹配
- 完全匹配-最小匹配
- 完全匹配-最大匹配
- 二分匹配--行列匹配
- 文件匹配 * ? [ ] [! ]文件匹配 * ? [ ] [! ]
- nginx精准匹配, 一般匹配, 正则匹配
- 匹配 邮箱
- 正则匹配
- c学习笔记3
- 查看树莓派3 WiFi连接速度
- CXF系列(四):CXF整合spring
- 转载 在ARM+Linux上移植NTP详解
- php自主常用函数
- poj3461KMP匹配
- eclipse 开发过程中经常出现一些UI的问题弹框
- mui 设置沉浸式导航
- Hadoop启动的时候,发现Datanode启动不了,解决办法
- 高通Camera整体框架
- Android动画由浅到深(一)
- CXF系列(五):soap与rest的比较
- 信用小白网贷难,如何提高网贷通过率?
- java中比较两个字符串是否相等