HDU 1711 Number Sequence
来源:互联网 发布:杭州java平均薪资 编辑:程序博客网 时间:2024/06/05 08:31
题目链接
题意:在主串中寻找第一个包含模式串的的位置。
分析:裸kmp
#include<cstdio>#include<algorithm>#include<cstring>#define MAX_P 10005#define MAX_T 1000005using namespace std;int P[MAX_P];int T[MAX_T];int NEXT[MAX_P];int n,m;void makeNext(void){ int q,k; NEXT[0]=0; for(q=1,k=0;q<m;q++) { while(k>0&&P[q]!=P[k]) k=NEXT[k-1]; if(P[q]==P[k]) k++; NEXT[q]=k; } return ;}int kmp(void){ makeNext(); for(int i=0,q=0;i<n;i++) { while(q>0&&P[q]!=T[i]) q=NEXT[q-1]; if(P[q]==T[i]) q++; if(q==m) return i-m+1+1; } return -1;}int main(void){ int t; scanf("%d",&t); while(t--) { scanf("%d%d",&n,&m); for(int i=0;i<n;i++) scanf("%d",&T[i]); for(int i=0;i<m;i++) scanf("%d",&P[i]); int ans=kmp(); printf("%d\n",ans); } return 0;}
0 0
- hdu 1711 Number Sequence
- hdu 1711 Number Sequence
- hdu 1711 Number Sequence
- Hdu-1711 Number Sequence
- hdu 1711 Number Sequence
- HDU 1711 Number Sequence
- HDU 1711 Number Sequence
- hdu 1711 Number Sequence
- HDU-1711-Number Sequence
- hdu 1711 Number Sequence
- Hdu 1711 - Number Sequence
- hdu 1711 Number Sequence
- HDU 1711 Number Sequence
- HDU 1711 Number Sequence
- HDU-Number Sequence -1711
- hdu 1711 number sequence
- HDU 1711 Number Sequence
- Number Sequence hdu 1711
- android studio 两次按钮,不同效果
- TreeMap源码解析 给jdk写注释系列之jdk1.6容器(7)
- 杭电-2641 Reward(拓扑排序)
- Android 基于google Zxing实现二维码、条形码扫描,仿微信二维码扫描效果
- CSS—组合选择器
- HDU 1711 Number Sequence
- 如果获得页面跳转的最终URL
- 很久前Oracle的一些笔记_7-8
- 年终奖(动态规划)---- 京东2016研发工程师编程题
- 用非递归方式实现二叉树先序便利
- 五大常用算法之一:分治算法(转)
- At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger fo
- 【杭电oj2647】Reward
- Leetcode之路 258. Add Digits