POJ 3461 kmp
来源:互联网 发布:奢侈品复刻1:1淘宝 编辑:程序博客网 时间:2024/06/06 11:47
一道基础的kmp
过了一个暑假仍是宝刀不老,直接写出next的算法
#include<iostream>#include<math.h>#include<cstdio>#include<cstring>using namespace std; int next1[10009]; char s[10009],s1[1000009]; void get_next1(int n) { int i,j,k; i=n; j=0; k=-1; next1[0]=-1; while(j<i) { if(k==-1||s[k]==s[j]) { k++; j++; next1[j]=k; } else k=next1[k]; } } int change_kmp(int n,int m) { int i=0,ans=0,j=0; while(i<n) { if(s[j]==s1[i]||j==-1) { j++; i++; } else j=next1[j]; if(j==m) { ans++; j=next1[j-1];//如果成功匹配一次ans++,之后假装失败在来一次匹配 i--; } } return ans; }int main(){ int t; scanf("%d%*c",&t);while(t--){ gets(s); gets(s1); int len=strlen(s); int n=strlen(s1); get_next1(len); printf("%d\n",change_kmp(n,len));} return 0;}
0 0
- 【KMP模板】POJ 3461
- poj 3461 KMP
- poj 3461 Oulipo(KMP)
- kmp poj 3450 3461
- POJ 3461 KMP
- POJ 3461 kmp
- POJ 3461 Oulipo(KMP)
- poj 3461 kmp
- POJ 3461 Oulipo---kmp
- POJ 3461 Oulipo KMP
- poj 3461 Oulipo (KMP)
- POJ 3461 Oulipo ( KMP )
- POJ 3461 裸KMP
- 【POJ 3461 KMP】
- KMP poj 3461
- kmp poj 3461
- POJ 3461 Oulipo KMP
- POJ 3461 Oulipo / KMP
- 两位资深设计师谈设计和工具
- Leetcode 70. Climbing Stairs
- [基础知识]全面认识AndroidManifest.xml文件(三)
- mysql中的锁?
- Listview的convertView机制和ViewHolder机制与西游记的相似之处
- POJ 3461 kmp
- 在导航栏上添加控件和UITextField改变光标颜色和改变站位符颜色
- Kalman滤波器从原理到实现
- 双向BFS
- s
- underscore 函数去抖的实现 #21
- 《React-Native系列》39、 ReactNative之键盘Keyboard
- 移动应用“好”的本质在空白状态上体现
- java代码开发细节(根据Sonar提示的问题总结归纳的)