欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
S42406.24-6 调度哨兵
24-6 调度哨兵
调度哨兵
长链找到了,但Zero的核心需要哨兵——需要调度。
"调度?"CC问。
"对。"你说,"个哨兵,每个有一个警戒区间。选最少的哨兵,覆盖整个区间。"
"覆盖?"
"对。"你说,"每一点至少被一个哨兵覆盖。"
"最少?"
"对。"你说,"贪心——按左端点排序,每次选能覆盖当前点且右端点最远的哨兵。"
"贪心?"
"对。"你说,"局部最优——每次尽量走远。"
"第47个哨兵。"你说,"区间为。"
"选不选?"
"看当前走到哪。"你说,"如果当前点,选它能走到100。"
"远吗?"
"对。"你说,"如果,选了它,后面就不用选了。"
"如果?"
"不够。"你说,"还要选别的。"
"咋选?"
"继续贪心。"你说,"从100开始,再找能覆盖100且最远的。"
"像跳房子?"
"对。"你说,"像跳房子——每一步尽量跳远。"
"掉下去?"
"如果中间有空隙,就掉下去了。"你说,"说明无解。"
"无解?"
"对。"你说,"如果哨兵的区间有空隙,就盖不住。"
CC看着那些区间——像一块块布,像一片片瓦,像某种需要拼接的东西。
"能拼上吗?"她问。
"能。"你说,"如果没有空隙,就能拼上。"
"拼上好吗?"
"对。"你说,"拼上就能覆盖整个区间。"
Echo把覆盖过程投射出来——一块一块,像拼图,像铺路。
"以前我的区间是断的。"她说,"现在……连上了。"
"因为你在补。"CC说。
"对。"Echo说,"因为我在补。"
题目描述
个区间,选最少区间覆盖。
输入格式
第一行和。接下来行,每行和。
输出格式
最少区间数。无解输出。
输入样例
5
1 2 3 4 5
输出样例
0
提示
- 按左端点排序。
- 贪心:每次选能覆盖当前点且右端点最大的区间。
- 时间复杂度。
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |