hdu1711(kmp纯模板)
![](/assets/blank.gif)
![](/assets/blank.gif)
{
int i=-1,j=0;
next[0]=-1;
while(j<m-1)
{
if(i==-1||b[i]==b[j]) { ++i; ++j; next[j]=i;}
else i=next[i];
}
}
int Index_KMP()
{
int i=0,j=0;
while(i<n && j<m)
{
if(a[i]==b[j]||j==-1) { ++i; ++j;}
else j=next[j];
}
if(j>=m) return i-m+1;
else return -1;
}
代码:
![](/assets/blank.gif)
![](/assets/blank.gif)
#define M 10001
#define N 1000001
using namespace std;
__int64 a[N],b[M];
int next[M];
int t,n,m;
void get_next()
{
int i=-1,j=0;
next[0] = -1;
while(j<m-1)
{
if(i==-1 || b[i]==b[j])
{
i++;
j++;
next[j] = i;
}
else i=next[i];
}
}
int Index_KMP()
{
int i=0,j=0;
while(i<n && j<m)
{
if(a[i] == b[j] || j==-1)
{
i++;
j++;
}
else j=next[j];
}
if(j>=m) return i-m+1;
else return -1;
}
int main()
{
int i,j;
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&n,&m);
for(i=0;i<n;i++) scanf("%d",&a[i]);
for(i=0;i<m;i++)scanf("%d",&b[i]);
get_next();
printf("%d\n",Index_KMP());
}
return 0;
}
转载于:https://www.cnblogs.com/FCWORLD/archive/2011/04/08/2009019.html
hdu1711(kmp纯模板)相关推荐
- KMP算法模板与解析
全部数据结构.算法及应用课内模板请点击:https://blog.csdn.net/weixin_44077863/article/details/101691360 将KMP算法,就要先讲讲它是用来 ...
- 【模板】Trie KMP ACAM模板
Trie KMP ACAM模板 虽然实际情况这个都得改 Trie 01Trie也差不多. const int MAXN = 1e6 + 10, SIZE = 26; struct Trie{int c ...
- hdu1711 KMP模板
题意: 给你两个串,问你第二个串是从第一个串的什么位置开始完全匹配的.. 思路: 裸的KMP,也是我的第一个KMP,说下对KMP的理解吧,首先对于非优化的方法求匹配,时间复杂度应 ...
- POJ3461 【KMP(粗糙模板)】
题意: 给你两个字符串p和s,求出p在s中出现的次数. 这道题,abababa中aba出现了3次. 有其他题是求abababa,aba就是2次. 需注意. KMP 模板 //#include<b ...
- 数学--数论--随机算法--Pollard Rho 大数分解算法(纯模板带输出)
ACM常用模板合集 #include <bits/stdc++.h> using namespace std; typedef long long ll; ll pr; ll pmod(l ...
- KMP算法———模板
做出KMP字符串匹配算法心情也是好好哒,萌萌哒. 感谢黄学长,感谢栋栋! #include<cstdio> #include<string> #include<iostr ...
- F - Oulipo(kmp经典模板题)!!!
The French author Georges Perec (1936–1982) once wrote a book, La disparition, without the letter 'e ...
- 【SSM整合模板】- 纯模板
文章目录 写在前面 pom.xml web.xml applicationContext.xml springmvc.xml c3p0.properties log4j.properties 写在前面 ...
- python【数据结构与算法】KMP算法模板(我吐了!)
import math import cmath import sys import string import heapq import bisect from queue import Queue ...
最新文章
- How to protect video content (Flash Media Server)
- 对象的比较与排序(三):实现IComparableT和IComparerT泛型接口
- git提交输入密码_git提交到自己的服务器,每次都要输入密码
- JavaIO流加解密,AES对字符串加解密
- (124)FPGA面试题-ZYNQ的PS和PL端怎么交互的?
- 【数据库系统设计】关系数据库标准语言SQL(3)
- Windows重新生成UEFI引导,解决Windows蓝屏\BCD 0xc0000098
- Android Launcher研究与开发——桌面的初步定制化
- 运放做跟随器有什么要求
- 51单片机系列--蜂鸣器
- 【简单】字符串中最长元音字符串的长度
- Imx6ull 开发板通过Uboot使用网络启动系统
- chmod -R 777使用.
- windows11 显示文件后缀名
- Linux安装-gedit
- 家谱网站 php,家谱网站大全
- windows 10, v1903 正式版下载
- [转载]基于UML的需求分析和系统设计(完整案例和UML图形演示)
- 学习笔记 山外K60库图像解压函数原理(底层代码详解)
- Android 真机调试
热门文章
- 复合梯形公式与复合辛普森公式matlab_时尚女装套装的公式图纸分享
- 一天搞定DXUT三步曲之一:DXUT框架
- app error login.php,如何解决uniapp登录错误提示问题
- python requests网页爬取初探
- 计算机点关机无法关闭主机,老司机教你电脑关机关不了怎么办
- java表格模糊查询_使用java图形报表时,如何进行模糊查询
- 从git commit号码 revert_git revert amp; git rebase amp; commit 分支图
- 文本数据标注工具doccano【介绍最详细的一遍文章】
- 基于词典和朴素贝叶斯中文情感倾向分析算法
- matlab求解方程2x的5次,5元二次方程求解