hdu, KMP algorithm, linear string search algorithm, a nice reference provided
来源:互联网 发布:数据分析表格怎么做 编辑:程序博客网 时间:2024/05/29 08:37
reference:
Rabin-Karp and Knuth-Morris-Pratt Algorithms By TheLlama– TopCoder Member https://www.topcoder.com/community/data-science/data-science-tutorials/introduction-to-string-searching-algorithms/
// to be improved
#include <cstdio>#include <cstring>#include <algorithm>#define MAXN 1000005#define MAXM 10005int nums[MAXN];int cnums[MAXM];int ffunc[MAXM]={0};int main() {#ifndef ONLINE_JUDGE freopen("in.txt","r",stdin);#endif int T,n,m,i,j,k, res; int *p,*pend, *q, *r, *rend; if(scanf("%d",&T)!=1) return -1; while(T-->0 && scanf("%d%d",&n,&m)==2 && n>=m && m>0) { for(i=1;i<=n;++i) scanf("%d",&nums[i]); for(i=1;i<=m;++i) scanf("%d",&cnums[i]); for(i=2;i<=m;++i) { for(j=ffunc[i-1];;j=ffunc[j]) { if(cnums[j+1]==cnums[i] || j==0 && --j) break; } ffunc[i]=j+1; } for(i=1, k=0;;) { if(nums[i]==cnums[k+1]) { ++k; } else if(k>0) { k=ffunc[k]; continue; } if(++i>n || k>=m) break; } res=k!=m?-1:i-m; printf("%d\n",res); } return 0;}
0 0
- hdu, KMP algorithm, linear string search algorithm, a nice reference provided
- KMP string matching algorithm
- Quick Search algorithm (string)
- A* search algorithm浅谈
- String Match & Observer & Decorator & A* Search Algorithm & RW Lock
- KMP algorithm
- KMP algorithm
- 2016 UESTC Training for Search Algorithm & String I - 谭爷剪花布条 KMP
- 2016 UESTC Training for Search Algorithm & String K - 卿大爷的三个女友 KMP、跳转数组
- A星寻路算法(A* Search Algorithm)
- A星寻路算法(A* Search Algorithm)
- Boyer–Moore string search algorithm
- 【Search&String Algorithm Training】谭爷剪花布条
- Boyer–Moore string search algorithm
- ML_2 linear regression algorithm
- 2016 UESTC Training for Search Algorithm & String(A B C E I K)
- Identifying Hierarchical Structure in Sequences: A linear-time algorithm 1997
- Majority Element浅谈 (A linear time iceberg query algorithm)
- Java binarySearch 学习
- 在Visual Studio 2010中使用Visual Leak Detector
- C/C++程序设计06(面向对象)
- nyoj260 数数小木块
- Android (shape,gradient)详解
- hdu, KMP algorithm, linear string search algorithm, a nice reference provided
- vs未加载任何符号
- qtp 参数类 VBS 利用Default 关键字来 实现构造函数的功能
- VC 获取控制台窗口的句柄(hWnd)
- Activity的生命周期函数
- Android--Parcelable接口用法
- TextView 数字、中文 内容的中线下划线锯齿效果实现
- 平面向量
- C++项目实训:银行储蓄系统