发布时间:2026/8/20 11:53:22
《数据结构实验指导-C++语言版》 爆气球 题目描述爆气球对孩子们来说是很好玩的游戏。假设有nnn只气球被布置在一条直线上游戏的目标很简单就是爆掉尽可能多的气球。但是这里我们加一条特殊的规则——你只能跳一次。我们假设聪明的娃穿了件浑身带刺的衣服跳到某个位置后躺平如下图所示这样气球只要碰到娃身体的任何部分都会立刻爆炸。那么你的任务就是告诉娃应该跳到哪里才能一次爆掉最多的气球。输入格式输入共两行第一行两个正整数nnnn≤105n \le 10^5n≤105和hhhh≤103h \le 10^3h≤103分别表示气球数量和孩子伸直双臂能达到的高度。第二行nnn个整数每个对应一只气球在直线轴上的坐标。题目保证坐标按递增顺序给出所有坐标值均在[−106,106][-10^6, 10^6][−106,106]区间内。输出格式在一行中输出孩子跳跃的位置坐标使得孩子跳到这个位置然后躺平能够爆掉身下最多的气球随后输出能爆掉的气球的最大数量。如果这个坐标不唯一输出最小的那个值。一行中的数字间应有 1 个空格行首尾不得有多余空格。**注意**跳到从 120 到140或 240 到 260 之间的任何位置都可以爆掉 5 只气球所以 120 作为最小的坐标被输出。题目引用自攀拓考试真题2022年秋季。输入样例11 120 -120 -40 0 80 122 140 160 220 240 260 300输出样例120 5解题思路孩子躺平后覆盖一个长度为hhh的闭区间[y,yh][y, yh][y,yh]落在区间内的气球都会被爆掉。问题转化为在所有长度为hhh的区间中找出能覆盖最多气球的那个并输出其左端点yyy的最小值。由于坐标已按递增顺序给出使用双指针滑动窗口在线性时间内求解固定窗口左边界为第iii只气球右指针j不断右移直到x[j]x[i]hx[j] x[i] hx[j]x[i]h窗口内气球数为j−ij - ij−i。记录最大数量的同时保存窗口最右气球的坐标bestRight跳跃位置为bestRight - h这是能覆盖该窗口所有气球的最小位置只有cnt bestCnt时才更新保证坐标不唯一时输出最小值。时间复杂度O(n)O(n)O(n)双指针各自至多移动nnn次。空间复杂度O(n)O(n)O(n)存储坐标数组。代码流程说明读入气球数量nnn和高度hhh读入所有气球坐标。对坐标排序题目保证递增排序用于保险。初始化最优数量bestCnt 0、最优右端点bestRight x[0]、右指针j 0。以每个位置i作为窗口左边界保证j i右移j直到x[j] x[i] h窗口内气球数cnt j - i若cnt bestCnt更新bestCnt和bestRight x[j-1]。输出bestRight - h跳跃位置和bestCnt。代码实现#includeiostream#includealgorithmusingnamespacestd;constintMAXN100005;intx[MAXN];intmain(){intn,h;cinnh;for(inti0;in;i)cinx[i];// 孩子躺在长度 h 的闭区间 [y, yh] 内覆盖区间内的所有气球sort(x,xn);intbestCnt0,bestRightx[0];intj0;for(inti0;in;i){if(ji)ji;while(jnx[j]x[i]h)j;intcntj-i;if(cntbestCnt){bestCntcnt;bestRightx[j-1];}}// 输出能覆盖最多气球的最小跳跃位置最优区间右端点 - 长度 hcoutbestRight-h bestCntendl;return0;}代码流程图是是否是否是否否开始读入 n, h 和气球坐标对坐标排序初始化 bestCnt, bestRight, 右指针 ji 从 0 到 n-1j 是否小于 ij 等于 i坐标 j 是否在窗口内j 加 1窗口内气球数 cnt 等于 j 减 icnt 是否大于 bestCnt更新 bestCnt 和 bestRighti 加 1输出 bestRight 减 h 和 bestCnt结束解题流程图是否是否找到爆掉最多气球的跳跃位置读入气球坐标和高度 h排序气球坐标用滑动窗口枚举长度为 h 的区间统计窗口内覆盖的气球数覆盖数是否大于当前最优更新最优覆盖数和区间是否还有窗口跳跃位置取最优区间右端点减 h输出跳跃位置和最大覆盖数

相关新闻

2026/8/20 11:53:22

FF 91 实车深度体验:从设计、智能到行业思考的全面解析

1. 一次意料之外的“未来”邂逅 那天下午,我正开车行驶在洛杉矶一条并不算特别繁忙的街道上,脑子里盘算着下一个项目的技术选型。作为一个在汽车科技和智能硬件领域混迹了十多年的从业者,我对路上的各种“新面孔”总是格外敏感。就在一个红绿…

2026/8/20 12:58:32

C语言——⾃定义类型:结构体

耕耘 :C、C、嵌入式技术领域 🔥我的个人主页 ❄️个人专栏:《C语言专栏》 《嵌入式专栏》 ✨**不要等待机会,而要创造机会!**✨ 📽博主简介: ✨✨✨一位热爱生活的阳光大男孩.✨✨✨ 前言 本文系统梳理了C语言中**…

2026/8/20 12:58:32

特斯拉战略性投资分析:从烧钱到构建竞争壁垒的商业模式演进

1. 从“烧钱”的调侃到商业模式的本质 “特斯拉不烧汽油,烧钱?”这句话,最初是市场对特斯拉长期亏损、现金流紧张状态的一种戏谑调侃。在传统汽车行业看来,一家车企的核心是卖车赚钱,而特斯拉在实现稳定盈利前&#xf…

2026/8/20 12:58:32

还“此电脑“一片清净:10分钟搞定删不掉的流氓快捷方式

还"此电脑"一片清净:10分钟搞定删不掉的流氓快捷方式 【免费下载链接】MyComputerManager 管理“此电脑”里删不掉的流氓“快捷方式”(包括侧边栏),同时可自己添加这类“快捷方式” 项目地址: https://gitcode.com/gh…

2026/8/20 12:53:32

最新DeepSeek Harness的部署安装

最新DeepSeek Harness的部署安装一、DeepSeek Harness的计算机最低配置要求DeepSeek Harness能正常在电脑中运行,需要计算机具有以下最低配置要求。‌CPU‌:4核及以上x86/ARM架构处理器,支持AVX2指令集;‌内存‌:8GB可…

2026/8/20 10:17:13

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/19 15:09:57

工业传感器与变送器详解:序章 从物理世界到工业数据

序章 从物理世界到工业数据 ——重新认识工业传感器与变送器 工业自动化系统正变得日益复杂。今天的工业现场早已不是简单的控制回路,而是由多层技术共同构成的立体体系:PLC、DCS、SCADA、MES、工业互联网、边缘计算与人工智能。控制系统可以执行复杂算法,工业网络可以实现…

2026/8/20 0:01:41

Cline、Hermes、OpenClaw 都能连:HTTP 型 MCP 客户端全适配

后台被问得最多的一类问题是:“我用的是 Cline / Hermes / OpenClaw,能连察元的 WPS 文档服务吗?” 统一回答:能。而且这个"都能连"值得单独写一篇——不是我们挨个给每个客户端做了适配,而是所有这些客户端…

2026/8/20 0:01:41

46 个文档工具一次看懂:察元AI文档助手 MCP 工具目录速览

把察元AI文档助手接进 Claude Code 之后,我建议的第一件事不是急着下提示词,而是把它的 MCP 工具目录过一遍——46 个工具(MCP 目录版本 0.10.0),乍看吓人,其实按"一份文档的生命周期"分组之后非…

2026/8/20 8:35:23

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/20 9:15:29

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/19 16:39:34

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…