hdu 1711 水kmp
来源:互联网 发布:jquery.form.js data 编辑:程序博客网 时间:2024/06/16 07:53
/**********************jibancanyang************************** *Author :jibancanyang *Created Time : Thu 28 Apr 2016 01:21:08 PM CST *File Name : hdu1711.cpp *Problem: 水kmp *Get:***********************1599664856@qq.com**********************/#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#include <vector>#include <queue>#include <set>#include <map>#include <string>#include <cmath>#include <cstdlib>#include <ctime>#include <stack>using namespace std;typedef pair<int, int> pii;typedef long long ll;typedef unsigned long long ull;vector<int> vi;#define pr(x) cout << #x << ": " << x << " "#define pl(x) cout << #x << ": " << x << endl;#define xx first#define yy second#define sa(n) scanf("%d", &(n))#define rep(i, a, n) for (int i = a; i < n; i++)#define vep(c) for(decltype((c).begin() ) it = (c).begin(); it != (c).end(); it++)const int mod = int(1e9) + 7, INF = 0x3fffffff, maxn = 1e6 + 12;int s[maxn], p[maxn ];int plen, slen, nexts[maxn];void getnexts(void){ nexts[0] = -1; int k = -1, j = 0; while (j < plen - 1) { if (k == -1 || p[k] == p[j]) { k++; j++; if (p[k] != p[j]) nexts[j] = k; else nexts[j] = nexts[k]; } else k = nexts[k]; }}int kmp(void){ int i = 0, j = 0; while (i < slen && j < plen) { if (j == -1 || s[i] == p[j]) i++, j++; else j = nexts[j]; } if (j == plen) return i - j + 1; else return -1;}int main(void){#ifdef LOCAL //freopen("in.txt", "r", stdin); //freopen("out.txt", "w", stdout);#endif cin.sync_with_stdio(false); int T; sa(T); while (T--) { sa(slen), sa(plen); for (int i = 0; i < slen; i++) sa(s[i]); rep (i, 0, plen) sa(p[i]); getnexts(); printf("%d\n", kmp()); } return 0;}
0 0
- hdu 1711 水kmp
- hdu 1711 Number Sequence KMP(水)
- KMP hdu 1711
- hdu 1711(KMP)
- 【KMP应用】HDU 1711
- hdu 1711 裸KMP
- HDU 1711 裸KMP
- hdu 1711 朴素kmp
- HDU-1711(KMP)
- hdu 1711 kmp水体
- hdu 1711(KMP)
- HDU 1711 KMP 初级
- hdu 1711 kmp
- hdu-1711-kmp
- hdu 1711 KMP
- hdu 1711 kmp
- HDU 1711 KMP
- hdu 1711kmp裸题
- Fragment里面的Viewpaper不显示内容不执行getItem的解决方案
- 诡异的volatile
- Java工具类---数组操作ArrayUtil
- 01背包和完全背包代码
- 如何看待阿里的去IOE
- hdu 1711 水kmp
- iOS开发之高效绘图,通过一个绘图应用进行讲解
- JAVA CAS原理深度分析
- windows下绑定线程(进程)到指定的CPU核心
- maven 配置 ,eclipse创建maven web 项目
- CSS3时钟
- Activity进入与退出动画之xml实现
- Ajax实例
- 为什么国内的网盘公司都在 TB 的级别上竞争,成本会不会太高?