hdu1711 Number Sequence

news/2025/6/5 7:06:28

http://acm.hdu.edu.cn/showproblem.php?pid=1711

KMP的简单应用啊

直接贴代码了

代码:

 1 #include<iostream>
 2 #include<stdlib.h>
 3 #include<stdio.h>
 4 using namespace std;
 5 #define maxn 1000010
 6 int n,m;
 7 int a[maxn],b[maxn];
 8 int f[maxn];
 9 void callfail()
10 {
11      int i,j=0,k=-1;
12      f[0]=-1;
13      while(j<m)
14      {
15          if(k==-1||b[j]==b[k])
16          {
17              k++;j++;
18              f[j]=k;
19          }
20          else k=f[k];
21      }
22 }
23 int  Answer()
24 {
25   int i=0,j=0;
26   while(i<n&&j<m)
27   {
28     if(j==-1||a[i]==b[j])//j==-1 is important .Remember it!!!
29     {
30         i++;j++;
31         if(j==m) return i-m+1;
32 
33     }
34     else j=f[j];
35   }
36   return -1;
37 }
38 int main()
39 {
40     int t;
41     scanf("%d",&t);
42     while(t--)
43     {
44        scanf("%d%d",&n,&m);
45        for(int i=0;i<n;i++)
46           scanf("%d",&a[i]);
47        for(int i=0;i<m;i++)
48           scanf("%d",&b[i]);
49        callfail();
50       cout<<Answer()<<endl;
51     }
52     return 0;
53 
54 }

 

转载于:https://www.cnblogs.com/xiaozhuyang/p/hdu1711.html

文章来源:https://blog.csdn.net/weixin_30624825/article/details/97904572
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:https://dhexx.cn/news/show-843996.html

相关文章

窗口拖动的大小范围限制

以前见过&#xff0c;如果每次拖动都要自己根据判断来对对话框进行排版&#xff0c; 就添加OnNcHitTest来判断点击的区域&#xff0c;再用OnLbuttonDown来响应&#xff0c;反正是有点没搞懂的。。 今天见到一种比较简单的方法&#xff0c;也是添加消息响应函数&#xff0c; 在…

Excel 公式复制同步到其他单元格

打开Excel表格&#xff0c;选中一个单元格&#xff0c;输入公式&#xff0c;然后选中输入公式的单元格及同行或同列的单元格&#xff0c;在“开始”选项卡的“编辑”组中单击“填充”按钮&#xff0c;在展开的下拉列表中选择“向下”选项&#xff0c; 到此 Excel 公式复制同步到…

手脱ASProtect v1.23 RC1(无Stolen Code)

1.载入PEID ASProtect v1.23 RC12.载入OD&#xff0c;不勾选内存访问异常&#xff0c;其他异常全部勾选 00401000 > 68 01C04200 push 跑跑排行.0042C001 ; //入口处 00401005 E8 01000000 call 跑跑排行.0040100B 0040100A C3 …

Android:@id和@+id

id代表引用已有的id&#xff0c;而id是新增加一个id 如果使用id/name形式&#xff0c;当R.java中存在名为name变量时&#xff0c;则该组件会使用该变量的值作为标识。如果不存在该变量&#xff0c;则添加一个新的变量&#xff0c;并为该变量赋相应的值&#xff08;不会重复&…

js插件开发的一些感想和心得-引狼狼的蓝胖子

起因 如果大家平时做过一些前端开发方面的工作&#xff0c;一定会有这样的体会&#xff1a;页面需要某种效果或者插件的时候&#xff0c;我们一般会有两种选择&#xff1a; 1、上网查找相关的JS插件&#xff0c;学习其用法 2、自己造轮子&#xff0c;开发插件。 寻找存在的插件…

.NET:Attribute 入门(内训教程)

背景 接触过的语言中&#xff0c;C#&#xff08;.NET 平台的多数语言都支持&#xff09;、Java 和 Python 都支持这个特性&#xff0c;本文重点介绍 C# 中的应用&#xff0c;这里简单的对 C#、java 和 Python 中的 Attribute 做个总结&#xff1a; C#&#xff1a;可以封装状态和…

Linux Shell常用技巧(七) find xargs

Linux Shell常用技巧(七) find xargs 十六. 文件查找命令find: 下面给出find命令的主要应用示例&#xff1a; /> ls -l #列出当前目录下所包含的测试文件 -rw-r--r--. 1 root root 48217 Nov 12 00:57 install.log -rw-r--r--. 1 root root 37 Nov 12 …

OSG最长一帧学习

1.void ViewerBase::frame(double simulationTime)  //OSG每帧调用的函数&#xff08;ViewBase.cpp&#xff09; 转载于:https://www.cnblogs.com/baipengchao/p/5237646.html

力扣每日一题2022-01-20中等题:石子游戏IX

石子游戏IX2029.石子游戏IX题目描述思路博弈论Python实现Java实现2029.石子游戏IX 题目描述 石子游戏IX 思路 博弈论 根据题意&#xff0c;把石子按模3区分&#xff0c;原来的大小在同一个余数堆里没有区别。 模3余0的石子成对出现等于没出现&#xff0c;因为Alice拿了&…

HYSBZ 2743 (树状数组) 采花

题目&#xff1a;这里 题意&#xff1a; 在2016年&#xff0c;佳媛姐姐刚刚学习了树&#xff0c;非常开心。现在他想解决这样一个问题&#xff1a;给定一颗有根树&#xff08;根为1&#xff09;&#xff0c;有以下两种操作&#xff1a;1. 标记操作&#xff1a;对某个结点打上标…