2016 ccpc长春现场赛I Sequence I(hdu 5918)

螺丝锁付系统软件设计 C# Winform 视觉螺丝锁付系统软件设计 C# Winform ,这是其中通信子模块设计 阅读详情


Sequence I

Time Limit: 3000/1500 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)
Total Submission(s): 0    Accepted Submission(s): 0


Problem Description
Mr. Frog has two sequences  a1,a2,⋯,an  and  b1,b2,⋯,bm  and a number p. He wants to know the number of positions q such that sequence  b1,b2,⋯,bm  is exactly the sequence  aq,aq+p,aq+2p,⋯,aq+(m−1)p  where  q+(m−1)p≤n  and  q≥1 .
 

Input
The first line contains only one integer  T≤100 , which indicates the number of test cases.

Each test case contains three lines.

The first line contains three space-separated integers  1≤n≤106,1≤m≤106  and  1≤p≤106 .

The second line contains n integers  a1,a2,⋯,an(1≤ai≤109) .

the third line contains m integers  b1,b2,⋯,bm(1≤bi≤109) .
 

Output
For each test case, output one line “Case #x: y”, where x is the case number (starting from 1) and y is the number of valid q’s.
 

Sample Input
  
2 6 3 1 1 2 3 1 2 3 1 2 3 6 3 2 1 3 2 2 3 1 1 2 3
 

Sample Output
  
Case #1: 2 Case #2: 1
 

Statistic |  Submit |  Clarifications |  Back
题意:给你两个数组,再给你距离间隔,要求你用第一个数组以一定的距离间隔匹配第二个数组,问有多少种匹配方案。

思路:现场赛的时候这道题可以暴力O(n*m)过的,但估计这道题想考的是kmp,把kmp模板改一下就好了,kmp的时间复杂度是O(n),别问我为什么暴力比kmp速度更快。下面给代码

#include<set>
#include<map>
#include<ctime>
#include<cmath>
#include<stack>
#include<queue>
#include<cstdio>
#include<string>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<functional>
typedef long long LL;
using namespace std;
#define inf 0x3f3f3f3f
#define maxn 100005
typedef long long LL;
int num, sum, n, m;
int next1[maxn], P[maxn], T[maxn];
void makeNext()
{
	int q, k;
	next1[0] = 0;
	for (q = 1, k = 0; q < m; ++q)
	{
		while (k > 0 && P[q] != P[k])
			k = next1[k - 1];
		if (P[q] == P[k])
		{
			k++;
		}
		next1[q] = k;
	}
}
void kmp()
{
	int i, q;
	makeNext();
	for (int st = 0; st < num; st++){
		for (i = st, q = 0; i < n; i += num)
		{
			while (q > 0 && P[q] != T[i])
				q = next1[q - 1];
			if (P[q] == T[i])
			{
				q++;
			}
			if (q == m)
			{
				sum++;
			}
		}
	}
}
int main(){
	int t;
	scanf("%d", &t);
	for (int tcase = 1; tcase <= t; tcase++){
		memset(P, 0, sizeof(P));
		memset(T, 0, sizeof(T));
		scanf("%d%d%d", &n, &m, &num);
		for (int i = 0; i<n; i++){
			scanf("%d", &T[i]);
		}
		for (int i = 0; i<m; i++){
			scanf("%d", &P[i]);
		}
		sum = 0;
		kmp();
		printf("Case #%d: %d\n", tcase, sum);
	}
}

用AList挂载网盘,无损看VR电影教程,无需下载到PICO头显本地! 用AList挂载网盘 + WebDAV直连头显,看片像拉本地一样流畅,不怕卡顿、不怕没空间,简直是VR看片刚需配置!别再用U盘传电影了,用AList + WebDAV,直接流畅看4K,看片效率翻倍,体验提升一个档次! 阅读详情

相关推荐

stm32cubeMX使用HAL库点亮LED流水灯

目录

weixin_46129506的博客 3797

2016中国大学生程序设计竞赛(ccpc 长春)题解报告

2016中国大学生程序设计竞赛(ccpc 长春)题解报告

queuelovestack的专栏 8668

C++版Cesium实战:从OpenGL到3DTiles的全流程开发指南

本文提供了一份C++版Cesium全流程开发指南,详细阐述了如何利用OpenGL和Qt从零构建高性能、可离线部署的三维GIS应用。内容涵盖开发环境搭建、OpenGL渲染引擎初始化、Cesium核心坐标系与场景管理移植,并重点解析了3DTiles数据的解析、异步加载与渲染优化等硬核实战技术,旨在帮助开发者实现与现有C++工业软件的深度集成。

weixin_28077113的博客 164

2016 ccpc(长春) Sequence I (kmp)

Sequence I Time Limit: 3000/1500 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 958    Accepted Submission(s): 370 Problem Description Mr. Frog has two sequ

原点 468

智能车数字图像处理算法入门及C语言实现

智能车图像的最最基本入门算法介绍及C语言实现,二值化 - 特征识别 - 补线 - 中心巡线 - 偏差曲率计算。

不想随波逐流的大学生一枚,我们每个人都在努力奔跑 5110

超详细Matlab R2021a免费安装教程(附安装包)

Matlab是一种高级技术计算语言和交互式环境,用于算法开发、数据可视化和数值计算。它集成了数学、工程和科学计算的丰富函数库,提供了强大的数据分析和绘图工具。Matlab还支持并行计算和大规模数据处理,适用于各种领域,如信号处理、图像处理、控制系统、机器学习等。

waicsdn_haha的博客 1万+

2016 ACM-CCPC长春站比赛总结

以此篇文章记录我ACM生涯第一场正式比赛CCPC长春站。 =========================================================     不知不觉中接触ACM已经有接近一年了,但确实有很多方面做的并不好,距离校队历史上前辈大神在在这个时间点所取得的成绩差距还是很大的。具体的个人分析部分放在最后。     说实话并没有想到第一场比赛真

wchhlbt的博客 3806

微动探测原理及仪器介绍

微动探测原理及仪器介绍 1、微动探测原理 1.1 基本理论 微动是由体波和面波组成,其中微动能量的百分之七十以上都来自于面波,并且它与体波的主要区别是在不均匀的介质中传播时面波会发生频散,而体波不存在频散现象,因此面波是微动探测的主要对象。 对于介质的弹性参数(如横波速度、层薄厚、压缩波速度、密度等),面波传播速度相对比较敏感,特别是对横波的敏感性很高,因此可以利用面波来反演横波速度。 在时间和空间上,微动信号具有以下特性:高度变化、无规律性、无重复性等,有研究发现全世界各处记录的微动信号都有相似

zw461450141的博客 1万+

2016 ccpc(长春站) 一个弱鸡的总结

第一次参加区域赛,心情是无比的激动,提前两天去坐车,坐了24个小时的火车后终于到达长春,然后去报道,吃饭,下午就是热身赛,热身赛做出来一个,还是看数据看出来的,第二题是什么卡特兰数,然而并不知道什么是卡特兰数,晚上跟着学长逛了逛吉大。  正式比赛,发下题来,一眼就看见第二题,感觉好做,也没仔细想,就开始打代码,可是怎么也出不来,时间一分一秒的过去了,旁边的都做了两个题,我们还是0个,整个人直接懵

原点 1229

保姆级教程:用CH34xSerCfg工具修改USB转串口芯片的VID/PID,避免驱动冲突

本文详细介绍了如何使用CH34xSerCfg工具修改USB转串口芯片的VID/PID,解决驱动冲突问题。通过实战案例和配置技巧,帮助开发者高效管理嵌入式设备,避免常见的USB设备识别问题,提升开发效率。

weixin_30924239的博客 224

站在评审的角度写国自然基金本子,搭配这5条AI提示词,帮你一键提升本子中标率

多数同仁的选题失败,不是因为你的idea不好,而是你的逻辑没有立起来,你必须让评审看到,你是怎么从问题走向方法的。请你按照“同行做到哪、瓶颈卡在哪、我该怎么破”的逻辑,将我的创新点进行重构:【粘贴你原始的创新点描述】,要求:表达需结构化、可量化、可验证,突出对比后的实质性突破。与其等着评审指出问题,等着本子被拒,不如让AI提前模拟评审,帮你从可行性、创新性、国家价值、团队能力四个维度给你打分,并指出项目的致命破绽,提示词这样设计。创新点如果写不好,本子往往也会被拒,而评审一般喜欢的创新点都是有固定结构的。

智能AI让学术科研更容易 1239

HDU - 5918 Sequence I

Mr. Frog has two sequences a1,a2,⋯,ana1,a2,⋯,an and b1,b2,⋯,bmb1,b2,⋯,bm and a number p. He wants to know the number of positions q such that sequence b1,b2,⋯,bmb1,b2,⋯,bm is exactly the sequence 

CS33sun的博客 552

coze 怎么读取excel文件,使用循环,数据库完成LLM问答并存储

本文介绍了如何在Coze平台实现"Excel读取+循环处理+LLM问答+数据库存储"的工作流。主要分为三个步骤:1)使用代码节点解析Excel文件为问答对数组;2)通过循环节点遍历问答对,调用LLM节点生成回答;3)利用数据库节点将问答结果存储到Coze内置数据库中。文中提供了代码示例和节点配置说明,并强调了注意事项如Excel格式要求、LLM调用频率控制等。该工作流适用于批量构建知识库问答系统并持久化存储结果。

ZhangJiqun&191cm&85kg 1788

2016 ccpc长春现场赛J Sequence II(hdu 5919)

Sequence II Time Limit: 9000/4500 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 466    Accepted Submission(s): 112 Problem Description Mr. Frog has a

overload1997 638

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

CCPC2016长春H (hdu 5918 Sequence I)

给两个数组a , b,并给一个间隔值p。问在间隔值p下b在中有多少个匹配。 比如a数组为1 2 2 4 3,b数组为1 2 3,那么在间隔值为2的情况下有一个匹配。 把a数组中可以作为开头的所有间隔数字比如2可以开头的数字是1或者2,3可以开头的数字是1、2、3取出来。 然后做p次kmp即可。 //#define test #include&lt...

ad4627的博客 113

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

HDU 5918 Sequence I

题目来源:2016 CCPC 长春站 题意:给出两个序列 a[] , b[] ,如果b1,b2....bm能够与aq,aq+p,aq+2p...aq+(m-1)p对应( q+(m-1)p<=n && q>=1 ),则q为一个合法的数,找出满足题意的q的个数 思路:简单KMP,枚举起点q,如果匹配成功后记录一次然后重新从最后匹配位置进行匹配,一直匹配到a[]结束...

dijingzhou4259的博客 107

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

HDU 5918 Sequence I (2016-ccpc-长春)

题目连接:题目 题目大意:给你数列a,b,求在数列a中找出有几个间隔为p的数列b 解题思路:直接暴力,复杂度n*m, #include #include using namespace std; const int maxn = 1e6+5; int a[maxn],b[maxn]; int n,m,p; int sovle(int a[],int b[],int k){ int sum=

Strive 478

HDU - 5918 Sequence I(2016年长春区域赛铜牌题)

Mr. Frog has two sequences a1,a2,⋯,an and b1,b2,⋯,bm and a number p. He wants to know the number of positions q such that sequence b1,b2,⋯,bm is exactly the sequence aq,aq+p,aq+2p,⋯,aq+(m−1)p where q+...

vocaloid01的博客 290

【HDU - 5918 】Sequence I (数组(字符串)匹配问题,可选KMP)

题干: Mr. Frog has two sequences a1,a2,⋯,ana1,a2,⋯,an and b1,b2,⋯,bmb1,b2,⋯,bm and a number p. He wants to know the number of positions q such that sequence b1,b2,⋯,bmb1,b2,⋯,bm is exactly the sequence...

xuanweiace的博客 694

hdu5918Sequence I

链接:http://acm.hdu.edu.cn/showproblem.php?pid=5918 题意:给出两个数组a,b。b数组匹配a数组,不是连续匹配,而是相隔p位置匹配,求a数组中能匹配出多少次b数组。 分析:将a数组按%p分组然后kmp即可,O(n+m)。 代码: #include #include #include #include #include #include #inc

Fsss 1244

Sequence I

Mr. Frog has two sequences a1,a2,⋯,ana1,a2,⋯,an and b1,b2,⋯,bmb1,b2,⋯,bm and a number p. He wants to know the number of positions q such that sequence b1,b2,⋯,bmb1,b2,⋯,bm is exactly the sequence aq,a

黑脉金的博客 783

L5:04 - 【类型三】Two Sequences DP(40%)

。

chrissun的专栏 661

2016CCPC长春 一些题解

B - Fraction 温暖的签到,求一个奇奇怪怪的式子的解。 不能用除法,我们手写几次就会发现上一次的分子分母交换一下就可以,最后记得约分 #include &lt;iostream&gt; #include &lt;cstdio&gt; #define ll long long using namespace std; int a[20],b[20]; int gcd(int a,int b...

limn204的专栏 404

HDU 5918 Sequence I (水题+字符串匹配)

Sequence I Time Limit: 3000/1500 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 862    Accepted Submission(s): 332 Problem Description Mr. Frog has tw

In my way 718

HDU - 5918 Sequence I解题报告(KMP)

题目大意:给你两个数组 a,b。还有一个间隔长度 t 。现在让你找 a 数组以长度 t 为间隔,里面有多少个 b 。分析:以 t 为间隔将 a 数组分成几个子序列,然后每个子序列分别与 b 进行匹配,用 kmp 。 后经测试发现,这道题直接暴力枚举也是可以过的。两个方法的代码都贴一下吧。代码:暴力枚举:608ms#include<iostream> #include<stdio.h> #inclu

薛崇祥的博客 598

2016CCPC长春I (hdu 5919 Sequence II)

给n个数字与q次询问,每次询问找出区间不同数字的个数并输出在这个区间里第"(个数+1)/2"次出现的数字。每个数字只有第一次出现会被计数。 考虑主席树对区间不同个数的统计是基于重复的数字只保留最后出现的那次也就是说我们可以找到从后往前数字第一次出现的计数。 但现在要求的是从前向后,考虑从后向前建立主席树,那么只需要求出不同个数后再求区间第k小就搞定了。 主席树一定要开40*MAX的...

ad4627的博客 190
上一篇: POJ2135 Farm Tour(最小费用最大流裸题)
下一篇: 2016 ccpc长春现场赛J Sequence II(hdu 5919)
overload1997
博客等级 码龄11年 328粉丝 210原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值