当前位置: 首页 > news >正文

C++贪心———区间覆盖区间调度

一、什么是区间覆盖问题

“给你很多区间,让你用最少个数,覆盖一个目标区间”

二、区间覆盖贪心核心思想

按照左端点升序排序,当前要覆盖到 pos,在所有 L ≤ pos 的区间中,选择r 最大的那个。

三、区间覆盖核心代码

structInterval{intl,r;};intcoverMin(vector<Interval>&segs,intL,intR){// 左端点升序排列sort(segs.begin(),segs.end(),[](auto&a,auto&b){returna.l<b.l;});intans=0;intpos=L;inti=0;intn=segs.size();while(pos<=R){intbestR=-1;// 找所有能覆盖 pos 的区间while(i<n&&segs[i].l<=pos){bestR=max(bestR,segs[i].r);i++;}// 无法继续覆盖if(bestR<pos)return-1;ans++;pos=bestR+1;}returnans;}

四、什么是区间调度问题

“从一堆区间中,选最多个互不重叠的区间”

五、区间调度贪心核心思想

每次选择:
在所有“起点 ≥ 当前结束时间”的区间中,结束最早的那个。

六、概览

维度区间调度区间覆盖
目标最多最少
要求区间互不重叠覆盖整个目标区间
排序方式按右端点升序按左端点升序
贪心策略尽量早点结束尽量覆盖得远
典型题会议室安排摄像头 / 视频拼接

七、例题

区间覆盖:
PG:世界杯只因
LeetCode:跳跃游戏Ⅱ
LeetCode:视频拼接
进阶:(需按照右端点升序排序)
LeetCode:用最少数量的箭引爆气球

区间调度:
洛谷:凌乱的yyy/线段覆盖

http://www.cnnetsun.cn/news/136248.html

相关文章:

  • 51、保障系统安全:从漏洞扫描到灾难恢复的全面指南
  • DearPyGUI:为什么这款Python GUI框架正在重新定义界面开发?
  • Matlab模拟OAM螺旋谱展开,包括光束本征态、各类湍流、衍射、干涉下的OAM谱分布
  • 【核工业Agent故障处理全攻略】:揭秘高危场景下的7大应急响应策略
  • AI视频字幕生成工具:5步配置与实战应用全攻略
  • 如何快速上手SM3-PHP:5分钟掌握PHP国密加密的完整指南
  • 重构智慧书-第19条:事情刚开始时,不要让人抱过高期望。
  • 塔防无敌塔防小游戏Linux部署演示
  • leetcode 3652(定长滑动窗口/前缀和)
  • Vim插件管理器VAM:零基础小白也能轻松驾驭的终极神器
  • 30、Linux迁移案例:企业与政府的开源实践
  • 模块化多电平换流器(MMC)仿真分析:双闭环控制与最近电平逼近调制
  • Nacos3.1.1部署(Docker)
  • 【稀缺资料】20年经验专家解密:云边 Agent 延迟优化的3层架构设计
  • 跨领域Agent协同架构设计,5个真实工业场景中的落地实践案例
  • 半导体设备通信开发实战:基于secsgem的工业自动化解决方案
  • 【Java毕设全套源码+文档】基于springboot的钢材销售管理系统的设计与实现(丰富项目+远程调试+讲解+定制)
  • 26、Unix系统管理与实用技巧
  • [HZNUCTF 2023 preliminary]ppppop
  • 2025年国内主流的德国SAP系统官方授权实施代理商有哪些?
  • 服务器性能优化实战:从资源瓶颈定位到极致调优(附租赁服务器适配指南)
  • 三相异步电动机交流调速系统:原理、应用与优化控制策略
  • 3、数据科学命令行入门指南
  • Wireshark抓包模式选择:5个关键场景与实战技巧
  • 10、数据探索与可视化全攻略
  • 小学生学C++编程 (自定义函数(二))
  • GPT-5.2国内稳定接入实战:中转调用方案全解析(适配中小团队Python栈)
  • macOS存储空间告急?iSCSI Initiator终极解决方案助你突破存储瓶颈
  • 5分钟快速掌握:用node-qrcode打造专业级二维码
  • 杭亚 YS - 01H 声光报警器用户心得