【KMP】模板
来源:互联网 发布:淘宝卖京东e卡 骗局 编辑:程序博客网 时间:2024/06/02 03:25
#include<iostream>using namespace std;#define MAXN 1000000#define MAXM 100000int T[MAXN],P[MAXM],Next[MAXM];void MakeNext(int M)//找到一个匹配位置{ Next[0] = -1; int i = 0, j = -1; while(i<M){ if(j==-1 || P[i]==P[j]){ i++,j++; if(P[i]!=P[j])Next[i] = j; elseNext[i] = Next[j]; } elsej = Next[j]; }}int KMP(int N,int M)//进行匹配{ int i=0,j=0; while(i<N && j<M){ if(T[i]==P[j] || j==-1)i++,j++; elsej = Next[j]; } if(j==M)return i-M+1; elsereturn -1;}int main(){ int N,M,C; scanf("%d",&C); while(C--){int i; scanf("%d %d",&N,&M); for(i=0;i<N;i++)scanf("%d",&T[i]); for(i=0;i<M;i++)scanf("%d",&P[i]); if(M>N)printf("-1\n"); else{ MakeNext(M); printf("%d\n",KMP(N,M)); } } return 0;}
0 0
- KMP模板
- KMP 模板
- kmp模板
- kmp模板
- kmp模板
- KMP模板
- kmp模板
- kmp模板
- KMP 模板
- 【模板】KMP
- KMP模板
- KMP模板
- 【KMP 模板】
- KMP模板
- KMP 模板
- kmp模板
- KMP模板
- KMP 模板
- 快速排序-两种常见的划分
- 开源夏令营之foldcolumn工具及解决方案--学习制作manpage
- Compiling and linking error when using NDK r10 to build cocos2d-x v3.2
- IAR扩展关键字
- Android Theme
- 【KMP】模板
- Android OpenGL ES 开发教程(1):导言
- //淡入动画:渐渐显现的动画.
- hdu 1698 Just a Hook(线段树之 成段更新)
- hdu 2082 母函数
- IOS 夜间模式(利用系统亮度)
- PhoneGap 在首页 点返回键时 确认退出应用 其他时候还是返回
- Android OpenGL ES 开发教程(2):关于OpenGL ES
- 2014中国跨境电商暨互联网金融高峰论坛