hdu 1711 朴素kmp
来源:互联网 发布:万圣节面具淘宝 编辑:程序博客网 时间:2024/05/22 02:23
//hdu 1711 朴素kmp 返回b串在a串中匹配后的位置
#include<stdio.h>
#include<string.h>
int
n,m,a[1000010],b[1000010],next[1000010];
void
getnext()
{
int
i=0,j=-1;
next[0]=-1;
while
(i!=m)
{
if
(j==-1||b[i]==b[j])
next[++i]=++j;
else
j=next[j];
}
}
int
kmp()
{
int
i=0,j=0;
while
(i!=n)
{
if
(j==-1||a[i]==b[j])
{
++i;++j;
if
(j==m)
return
i-j+1;
}
else
j=next[j];
}
return
-1;
}
int
main()
{
int
T;
scanf
(
"%d"
,&T);
while
(T--)
{
scanf
(
"%d%d"
,&n,&m);
memset
(a,0,
sizeof
(a));
memset
(b,0,
sizeof
(b));
memset
(next,0,
sizeof
(next));
for
(
int
i=0;i<n;i++)
scanf
(
"%d"
,&a[i]);
for
(
int
i=0;i<m;i++)
scanf
(
"%d"
,&b[i]);
getnext();
printf
(
"%dn"
,kmp());
}
return
0;
}
- hdu 1711 朴素kmp
- kmp 朴素和升级 附 hdu 1711 3746 思想
- 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 1711kmp裸题
- kmp hdu-1711
- 编程之美3.5
- 以前的想法——ui编辑器
- TextView属性大全
- 魂不守舍
- ARM汇编伪指令介绍
- hdu 1711 朴素kmp
- 【数学】约瑟夫问题
- TMS320C55x的寄存器
- 添加sudo用户
- kmp超级版
- SQL优化--处理上百万条的数据库如何提高处理查询速度
- 稳定压倒的一切:创新
- hdu 2222 ac自动机模版
- 原作者未知 Flash Webgame 开发架构与心得