Hdu 1711 Number Sequence (kmp模板题)
来源:互联网 发布:模拟退火算法伪代码 编辑:程序博客网 时间:2024/05/17 06:33
题目链接:
https://vjudge.net/contest/70325#problem/A
题目大意:
给定两个数字串,第一个为待匹配串,第二个为模式串,求模式串第一个在待匹配串中出现的下标,没有则返回-1
分析:
简单修改KMP模板即可应用到数字串匹配上
代码:
#include <cstdio>#include <cstdlib>#include <iostream>#include <cstring>#include <algorithm>using namespace std;int a[1000009],b[10009];int n,m,Next[10009];int pos;void cover(){ int i , j = 0; Next[0] = Next[1] = 0; for (int i = 1; i < m ; i ++) { while (j&&b[i]!=b[j]) j = Next[j]; if (b[i]==b[j]) ++j; Next[i+1] = j; } return ;}int kmp(){ int j = 0; for (int i = 0 ; i < n ; i ++) { while (j&&a[i]!=b[j]) j = Next[j]; if (a[i]==b[j]){ if (j==m-1) return i - j + 1; ++j; } } return -1;}int main(){ int T; scanf("%d",&T); while (T--) { scanf("%d%d",&n,&m); for (int i = 0 ; i < n ; i ++) scanf("%d",&a[i]); for (int i = 0 ; i < m ; i ++) scanf("%d",&b[i]); cover(); printf("%d\n",kmp()); }}
0 0
- [KMP模板题]HDU-1711 Number Sequence
- hdu 1711 Number Sequence KMP模板题~~~
- hdu 1711 Number Sequence KMP模板题
- hdu 1711 Number Sequence(kmp模板题)
- hdu 1711Number Sequence(kmp模板题)
- hdu 1711 Number Sequence KMP模板题
- Hdu 1711 Number Sequence (kmp模板题)
- HDU - 1711 Number Sequence (KMP模板)
- 【KMP模板】HDU 1711 Number Sequence
- Kmp 模板 之 hdu 1711 Number Sequence
- HDU 1711 Number Sequence(KMP模板)
- HDU 1711Number Sequence(KMP模板)
- HDU 1711 Number Sequence(kmp模板)
- HDU 1711 Number Sequence(KMP 模板)
- HDU 1711 Number Sequence(KMP模板)
- hdu 1711 Number Sequence kmp模板
- HDU 1711 Number Sequence【KMP模板】
- 【hdu 1711】 Number Sequence KMP模板
- 质数因子
- 源码解析之 HashMap与HashTable的区别
- docker学习之常用Dockerfile指令
- 【UnityVR】多设备适配思路
- 深入浅出RxJava2.0_02[新特性]
- Hdu 1711 Number Sequence (kmp模板题)
- 2SAT总结
- applet控件IE无法显示设置
- 进制转换
- oracle插件plsqldoc介绍
- applet在appletview中是正常的,在html中不显示?该如何处理
- 字符串分隔
- Glide 入门到精通之九——SimpleTarget 和 ViewTarget 用于自定义视图类
- 51单片机工作于方式0的定时器模式