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

算法题(155):线段覆盖

审题:

本题需要我们记录不相互覆盖的最大区间个数

思路:
方法一:贪心

涉及到区间的贪心题我们一般先要对区间进行排序,一共分四种排序

1:左端点升序

2:右端点升序

3:左端点降序

4:右断点降序

具体可以采用哪种预处理排序方法取决于题意

以本题的样例为例分析:
我们先尝试左端点升序排序,此时区间1为【0,2】,区间2为【1,3】,区间3为【2,4】。我们看到区间1和2是互相覆盖的,此时我们舍弃掉区间隔2,保留区间1(因为保留右端点更小的区间有更大可能不与后面的区间覆盖,从而得到更多的不覆盖区间)。然后再用区间1和区间3进行比较,发现他们不是互相覆盖,所以answer++,遍历结束,结束搜索。

我们发现左端点升序可以解决该问题,所以我们就采用左端点升序解题。

解题:

#include<iostream> #include<algorithm> using namespace std; const int N = 1e6 + 10; struct space { int l; int r; }a[N]; int n; bool cmp(space& s1, space& s2) { return s1.l < s2.l; } int main() { //数据录入 cin >> n; for (int i = 1; i <= n; i++) { cin >> a[i].l >> a[i].r; } //左端点升序排序 sort(a + 1, a + 1 + n, cmp); //区间搜索 int answer = 1; int r = a[1].r; for (int i = 2; i <= n; i++) { int left = a[i].l; int right = a[i].r; if (left < r) { r = min(r, right); } else { answer++; r = right; } } cout << answer << endl; return 0; }

1.由于每个区间需要存储左右端点,所以我们用结构体来表示区间

2.answer初始化为1:因为不管什么情况,只要有区间,一定会有一个区间是可以单独选出来而不覆盖的(只有一个区间不存在覆盖的问题)

P1803 凌乱的yyy / 线段覆盖 - 洛谷

http://www.jsqmd.com/news/660070/

相关文章:

  • 剪映自动化终极指南:用Python脚本批量处理视频的完整教程
  • cv_unet_image-colorization部署教程:阿里魔搭ModelScope模型加载详解
  • Android Studio中文界面终极配置指南:三步实现高效中文开发体验
  • Mermaid Live Editor:解决技术文档图表制作的5个核心痛点
  • React Native Offline 部署指南:如何在不同环境中配置和优化网络检测参数
  • 多功能窗口排列工具开发 万能窗口管理软件
  • mmdetection模型测试实战:用`tools/test.py`一键可视化预测结果并保存到指定文件夹
  • 2026年GPT-5完全指南:从发布到应用,一文讲透
  • 深度解析jest-extended数组匹配器:从toBeArray到toIncludeSameMembers
  • 你的macOS多任务效率神器Topit:2分钟掌握窗口置顶技巧,让工作效率翻倍
  • 鸿蒙中 Canvas画布的操作及状态处理(三)
  • 抖音批量下载终极指南:3步搞定无水印视频与音频提取
  • 别再只会仿真了!手把手教你用74LS192修改555定时器抢答器的倒计时时间
  • OpenCode应用场景:AI编程助手如何帮你重构代码、调试bug
  • 终极指南:3个实战场景掌握AMD Ryzen SMU调试工具
  • Python 中的递归赋值总结
  • NVIDIA Profile Inspector完整指南:解锁200+显卡隐藏设置,免费提升游戏性能
  • LTSF-Linear参数调优技巧:10个关键设置让你的预测精度提升50%
  • SAM 3在电商场景的应用:快速分割商品主体,制作白底图so easy
  • 中文句子相似度判断神器:StructBERT本地部署保姆级教程
  • 抖音/B站/快手/小H书直播录制神器!原画超清无水印+自动监控+分段存储,主播开播秒抓取
  • SpringBoot+Vue二手闲置交易系统源码+论文
  • 2026年3月优质包装机定做厂家推荐,全自动三维包装机/透明膜三维包装机/枕式收缩包装机/封箱打包流水线,包装机品牌推荐 - 品牌推荐师
  • 别再死记硬背了!用Python脚本自动解析3GPP 27.007 AT指令(附源码)
  • 你的口袋渗透实验室:详解NetHunter Rootless在Termux下的工作原理与高级用法
  • 百川2-13B模型IDEA插件开发构思:智能代码审查提示
  • 飞书文档批量导出神器:3分钟搞定700+文档迁移,支持全平台运行
  • zteOnu技术解析:中兴光猫工厂模式解锁与Telnet永久开启实战指南
  • 终极指南:TMSpeech - Windows平台实时语音转文字的高效解决方案
  • 美团美点卡回收新行情出炉,回收价格怎么样? - 猎卡回收公众号