HDU-Number Sequence -1711
来源:互联网 发布:淘宝新手开店如何推广 编辑:程序博客网 时间:2024/04/28 02:30
纯粹模板,没什么好说的
Number Sequence
Time Limit : 10000/5000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other)
Total Submission(s) : 24 Accepted Submission(s) : 14
213 51 2 1 2 3 1 2 3 1 3 2 1 21 2 3 1 313 51 2 1 2 3 1 2 3 1 3 2 1 21 2 3 2 1
6-1
#include <iostream>
using namespace std;
const int maxt=1000001;
const int maxp=10001;
int p[maxp],t[maxt],nextval[maxp];
int n,m;
void get_nextval()
{
int i,j;
nextval[1]=0;
i=1,j=0;
while(i<m)
{
if(j==0||p[i]==p[j])
{
i++;
j++;
if(p[i]!=p[j]) nextval[i]=j;
else nextval[i]=nextval[j];
}
else j=nextval[j];
}
}
int match()
{
int i,j;
i=1,j=1;
while(i<=n&&j<=m)
{
if(j==0||t[i]==p[j])
{
i++;
j++;
}
else j=nextval[j];
}
if(j==m+1) return i-m;
else return -1;
}
int main()
{
int ncas,i;
scanf("%d\n",&ncas);
while(ncas--)
{
scanf("%d %d",&n,&m);
for(i=1;i<=n;i++)
scanf("%d",&t[i]);
for(i=1;i<=m;i++)
scanf("%d",&p[i]);
get_nextval();
printf("%d\n",match());
}
return 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数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (二) —— SQLite
- cmd:telnet指令介绍
- 对于sturts2中的标签<s:url>
- Processes and Threads
- Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (一) —— 总览
- HDU-Number Sequence -1711
- window 常用快捷键,开始-运行命令整理.---快捷开发及操作 .
- Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (四) —— ContentProvider
- Java常见面试题
- python中的__name__和__main__
- Java 技术: 使您轻松地进行多线程应用程序编程(生产者消费者模式的优化)
- 二维码 ios
- 编写android ndk 程序
- python冒泡排序