hdu 5247 找连续数(灵活,超时题)

合宙ESP32C3实战:MPU6500六轴传感器数据读取与校准全解析 本文详细解析了如何使用合宙ESP32C3开发板读取和校准MPU6500六轴姿态传感器数据。从硬件接线、开发环境搭建到核心代码解析,提供了全面的实战指南,帮助开发者快速掌握传感器配置与数据处理技巧,适用于姿态控制、运动检测等应用场景。 阅读详情

小度熊拿到了一个无序的数组,对于这个数组,小度熊想知道是否能找到一个k 的区间,里面的 k 个数字排完序后是连续的。

现在小度熊增加题目难度,他不想知道是否有这样的 k 的区间,而是想知道有几个这样的 k 的区间。
 

Input
输入包含一组测试数据。

第一行包含两个整数n,m,n代表数组中有多少个数字,m 代表针对于此数组的询问次数,n不会超过10的4次方,m 不会超过1000。第二行包含n个正整数,第 I 个数字代表无序数组的第 I 位上的数字,数字大小不会超过2的31次方。接下来 m 行,每行一个正整数 k,含义详见题目描述,k 的大小不会超过1000。
 

Output
第一行输"Case #i:"。(由于只有一组样例,只输出”Case #1:”即可)

然后对于每个询问的 k,输出一行包含一个整数,代表数组中满足条件的 k 的大小的区间的数量。
 

Sample Input
  
6 2 3 2 1 4 3 5 3 4
 

Sample Output

#include<iostream>  
#include<algorithm>  
#include<string>  
#include<map>  
#include<set>  
#include<cmath>  
#include<vector>
#include<queue>
#include<deque>
#include<string.h>  
#include<stdlib.h>  
#include<cstdio> 
#define ll long long 
using namespace std; 
int x[10001];
int k[1001];
int sum[1001];
int main(){
	printf("Case #1:\n");  
	int n,m,j;
	scanf("%d %d",&n,&m);
	for(int i=0;i<n;++i)
		scanf("%d",&x[i]);
	int maxx=0;
	for(int i=0;i<m;++i){
		scanf("%d",&k[i]);
		if(k[i]>maxx)
			maxx=k[i];
	}
	for(int i=0;i<n;++i){
		map<int,int> r;
		int max=x[i],min=x[i];
		for(j=i;j<i+maxx&&j<n;++j){
			r[x[j]]++;
			if(r[x[j]]>1)
				break;
			if(x[j]>max)
				max=x[j];
			if(x[j]<min)
				min=x[j];
			if(max-min+1==j-i+1)
				sum[j-i+1]++;
		}
	}
	for(int i=0;i<m;++i)
		printf("%d\n",sum[k[i]]);  
    return 0;
} 
附上超时的代码:

#include<iostream>  
#include<algorithm>  
#include<string>  
#include<map>  
#include<set>  
#include<cmath>  
#include<vector>
#include<queue>
#include<deque>
#include<string.h>  
#include<stdlib.h>  
#include<cstdio> 
#define ll long long 
using namespace std; 
int x[10001];
int main(){
    printf("Case #1:\n");  
    int n,m,k,j;
    scanf("%d %d",&n,&m);
    for(int i=0;i<n;++i)
        scanf("%d",&x[i]);
    while(m--){
        scanf("%d",&k);
        int s=0;
        for(int i=0;i<n-k+1;++i){
            map<int,int> r;
            int max=x[i],min=x[i];
            for(j=i;j<i+k;++j){
                r[x[j]]++;
                if(x[j]>max)
                    max=x[j];
                if(x[j]<min)
                    min=x[j];
            }
            if(r.size()==k&&max-min+1==k)
                s++;
        }
        printf("%d\n",s);  
    }
    return 0;
} 

CSP - 2024 普及组初赛试题及解析 阅读详情

相关推荐

MTK Linux DRM分析(八)- KMS drm_crtc.c

CRTC 在 Linux DRM 子系统中是显示控制的核心,负责时序生成、模式设置和管线的调度。理解其工作原理和 API 对于进行底层图形开发、调试显示问题或 simply understanding how your graphics stack works 都至关重要。

iTom1900 1349

百度之星的一道题的解法

前段时间在优快云上溜达的时候发现有人发帖问一道算法题的解法,看到之后感觉很有意思。题目如下题目描述:一个正整数有可能可以被表示为 n(n>=2) 个连续正整数之和,如: 15=1+2+3+4+5 15=4+5+6 15=7+8 请编写程序,根据输入的任何一个正整数,找出符合这种要求的所有连续正整数序列。看到这道题后很容易想到第一中解法,就是2层循环的解法。不过感觉该算法的效率太低,我看到

celebration1982的专栏 592

前端埋点的实践

1、前言 开始正文前先介绍一下埋点的概念~,(熟悉的朋友可以略过) 前端埋点: 是一种手段,它的目的是上报相关行为数据,相关人员以数据为依据来分析产品在用户端的使用情况,根据分析出来的结果辅助产品优化、迭代。 BI:商业智能,公司内部做数据分析相关的部门。 2、背景 在流量红利逐渐消失的现在,数据的采集、分析和精细化的运营显得更加重要,所以埋点的需求在互联网产品中是很常见的,目的上面也提到了。我们的追求就是又快又好的做好埋点工作,但是现实却不那么美好;目前我们团队在前端埋点方面存在一些痛点: 在构造埋点字段

Arui_0的博客 1772

连续正整数和 -【2005年百度之星】

连续正整数和

m0_37659309的博客 578

基于STM32的家用新风系统智能控制器 | 保姆式教程 开源可复刻

本项目基于STM32F103C8T6核心控制器,完整实现了家用新风系统智能控制器的全功能开发,覆盖多传感器数据采集、双模式控制、PID调速、异常报警、掉电记忆等核心功能,全程采用保姆式无跳步教学,从硬件选型、接线、CubeMX配置、代码开发、调试排坑全流程拆解,跟着步骤一步步操作,就能顺利完成项目复刻

ZhongWeiXiang9的博客 464

Codex 实战 Skills:如何用 Skill 让 AI 模拟人工点击,自动完成复杂的前端表单测试

本文介绍如何构建基于Selenium WebDriver的AI Agent技能,实现自动化UI测试流程。主要内容包括: 环境搭建:配置无头Chrome浏览器环境,使用WebDriver Manager自动管理驱动 核心技能开发:通过ID、CSS Selector、XPath等策略定位元素,实现显式等待机制 交互模拟:使用ActionChains模拟鼠标悬停等复杂操作 稳定性优化:解决异步加载问题,确保测试可靠性 Skill封装:将功能模块化,使AI能通过自然语言指令操作Web界面 该方案突破了传统自动化测试

yueyeguzhuo的专栏 149

车牌识别的matlab程序(程序_讲解_模板),车牌识别的matlab程序(程序,讲解,模板)

clcclear close allI=imread('chepai.jpg');subplot(3,2,1);imshow(I), title('原始图像');I_gray=rgb2gray(I);subplot(3,2,2),imshow(I_gray),title('灰度图像');%====================== 形态学预处理 ====================== ...

weixin_31869569的博客 264

Unity引擎开发:复杂动作系统_动作捕捉数据的应用与整合

通过以上步骤,我们可以在Unity中有效地应用和整合动作捕捉数据,以实现更加真实和流畅的动画效果。从导入文件格式的选择,到预处理和优化,再到实时应用和调试验证,每一步都至关重要。希望本文能帮助你在Unity项目中更好地利用动作捕捉数据,提升动画质量和性能。

chenlz2007的博客 957

Uva-1265-Tour Belt

这个题感觉会超时的,

z309241990的专栏 697

图神经网络实战(7)——图卷积网络(Graph Convolutional Network, GCN)详解与实现

图卷积网络 (Graph Convolutional Network, GCN) 架构由 Kipf 和 Welling 于 2017 年提出,其理念是创建一种适用于图的高效卷积神经网络。在本节中,我们将讨论 Vanilla GNN 架构的局限性,并详细介绍 GCN 的工作原理,通过使用 PyTorch Geometric 在 Cora 和 Facebook Page-Page 数据集上实现 GCN 来验证其性能。

盼小辉丶的博客 2万+

YOLOv8极速瘦身实战:LAMP剪枝让模型又快又准

一个庞大的模型虽然强大,但在实际部署,尤其是资源受限的边缘设备(如无人机、移动电话、嵌入式系统)上,却面临着严峻的挑战:高昂的内存占用、巨大的计算量以及随之而来的高延迟和高能耗。本教程从LAMP剪枝的深刻理论出发,详细解释了它如何通过最小化最坏情况下的L2失真,并借助巧妙的数学简化,最终推导出一种高效、无超参数、层自适应的剪枝策略。它如同为臃肿的模型进行一次精准的“瘦身手术”,通过移除网络中冗余或不重要的权重、神经元甚至整个结构,来显著降低模型的参数量和计算量(FLOPs),从而实现推理加速和资源节约。

FJN110的博客 258

hdu 5247(RMQ+枚举)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5247 解题思路:这道题要求区间的连续性,可以用RMQ解决。首先可以确定的是如果区间的和必须是满足等差数列的求和,否则不会是连续的数。其次还要判断这个区间内的每一个数往左走遇到第一个与它相等的位置。如果该位置在区间内,说明区间内有重复的数。这里可以用RMQ维护。 #include #include

hexianhao的博客 430

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

hdu5247 找连续数

Problem Description 小度熊拿到了一个无序的数组,对于这个数组,小度熊想知道是否能找到一个k 的区间,里面的 k 个数字排完序后是连续的。 现在小度熊增加题目难度,他不想知道是否有这样的 k 的区间,而是想知道有几个这样的 k 的区间。   Input 输入包含一组测试数据。 第一行包含两个整数n,m,n代表数组中有多少个数字,m 代表

新月 1044

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

hdoj5247找连续数【rmq】

找连续数 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1190    Accepted Submission(s): 427 Problem Description 小度熊拿到了一个无序的数组,对于这个数组,小

走一步再走一步 600

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

2015百度之星初赛(1)·找连续数·RMQ

题目大意:小度熊拿到了一个无序的数组,对于这个数组,小度熊想知道是否能找到一个k 的区间,里面的 k 个数字排完序后是连续的。 现在小度熊增加题目难度,他不想知道是否有这样的 k 的区间,而是想知道有几个这样的 k 的区间。解题思路:如果这样一个区间满足题目要求,那么这个区间满足两个条件:1、最大值减最小值 = K - 1;2、区间内无重复数字;对于一点我们很容易想到是区间最值的问题,而第二点的处...

吾之奉先的博客 440

HDU 5247 (找连续数) 思维题

找连续数Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1811    Accepted Submission(s): 670Problem Description小度熊拿到了一个无序的数组,对于这个数组,小度熊想知道是否能找到一个k 的区...

Com_ice的博客 366

[滑动窗口]leetcode1004:最大连续1的个数 III(medium)

题目: 题解: 本题与424. 替换后的最长重复字符一样的套路,不过更为简单一点,直接用count统计窗口内的0的个数。当窗口内0的个数大于K时,我们需要缩小窗口;当窗口内0的个数小于等于k时,我们就可将窗口大小来与result来进行比较来确定是否更新result了。 注:窗口内0的个数就是表示可以被1替换的个数! 代码如下: class Solution { public: i...

algsup 563

hdu 5247 找连续数(思维)

题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5247 找连续数 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2031    Accepted Submission(s): 75...

Source_Roc 209

ACM寒假训练日志1

I:小度熊拿到了一个无序的数组,对于这个数组,小度熊想知道是否能找到一个k 的区间,里面的 k 个数字排完序后是连续的。 现在小度熊增加题目难度,他不想知道是否有这样的 k 的区间,而是想知道有几个这样的 k 的区间。 Input 输入包含一组测试数据。 第一行包含两个整数n,m,n代表数组中有多少个数字,m 代表针对于此数组的询问次数,n不会超过10的4次方,m 不会超过1000。第二行包含n个...

weixin_40630836的博客 351

HDU 5247 找连续数 【法1:双指针+滑动窗口单调队列】【法2:DP】

第一行包含两个整数n,m,n代表数组中有多少个数字,m代表针对于此数组的询问次数,n不会超过10的4次方,m不会超过1000。小度熊拿到了一个无序的数组,对于这个数组,小度熊想知道是否能找到一个k的区间,里面的k个数字排完序后是连续的。现在小度熊增加题目难度,他不想知道是否有这样的k的区间,而是想知道有几个这样的k的区间。然后对于每个询问的k,输出一行包含一个整数,代表数组中满足条件的k的大小的区间的数量。用滑动窗口(单调队列)找出每个窗口(大小为k)内的最大值和最小值,......

bei2002315的博客 168

2015百度之星 初赛1 1002(rmq)

2015百度之星 初赛1 1002 解题报告

GODSPEED 935

HDU 5247 找连续数 (思维题)

找连续数 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2004    Accepted Submission(s): 741   Problem Description 小度熊拿到了一个无序的数组,对于这个数组,小度熊想知道是否...

pxlsdz的博客 467

hdu 5247 找连续数-2015年百度之星程序设计大赛 - 初赛(1)

找连续数 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1248    Accepted Submission(s): 451 Problem Description 小度熊拿到了一个无序的数组,对于这个数组,小

B100402352的专栏 618
上一篇: hdu 5261 蜀道难(deque 双端队列)
下一篇: 【codechef】括号匹配,求子串最大值(灵活题)
ccyy-
博客等级 码龄12年 31粉丝 244原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值