当前位置: 首页 > 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.cnnetsun.cn/news/1958514.html

相关文章:

  • CPI:SAP调用CPI证书
  • 5分钟终极指南:用MelonLoader为Unity游戏轻松加载模组
  • SAM 3在电商场景的应用:快速分割商品主体,制作白底图so easy
  • WordPress + WooCommerce 知识图谱构建
  • 手把手教你用MDO34示波器抓IIC波形:从触发设置到数据解析的保姆级教程
  • Python大麦网自动抢票脚本:新手也能轻松抢到热门演唱会门票的终极指南
  • Tsuru平台安全补丁测试环境搭建:隔离与验证的终极指南
  • 终极gumbo-parser持续集成测试环境:从零配置到高效运行的完整指南
  • 提升Gumbo-Parser代码质量的5个关键方向:HTML5解析库的测试覆盖率优化指南
  • 如何快速将B站视频转为文字稿?Bili2text终极免费工具使用指南
  • AudioSeal Pixel Studio部署案例:广电机构AI语音新闻生成内容版权管理系统
  • 一键部署LongCat-Image-Edit:开箱即用的文本驱动图像编辑模型
  • Testcontainers-node 日志管理完全攻略:实时监控和调试容器行为
  • 3步拯救C盘爆红:为什么这款开源工具能轻松释放30GB空间?
  • 动态规划算法-路径问题:9.最小路径和
  • 收藏!小白/程序员必看,大模型入门避坑+转行实战指南(附0-6个月路线)
  • 如何快速上手Gemma模型:从零开始的10个实用技巧
  • WorkshopDL终极指南:免费下载Steam创意工坊模组的完美解决方案
  • 【游戏网络编程】Unity Socket与Mirror实战:从零构建可扩展的多人游戏通信框架
  • 基于PLC的私人车库自动门毕业设计:软件为博图1200,梯形图、组态动画、接线图、IO分配表
  • ScubaGear自动化部署指南:持续安全监控与合规报告
  • 如何快速清理Windows右键菜单:ContextMenuManager终极指南
  • 面试准备神器:利用gte-base-zh构建个性化的Java八股文学习与检索系统
  • nlp_gte_sentence-embedding_chinese-large模型安全:对抗样本防御与鲁棒性提升
  • cv_unet_image-colorization效果可视化报告:色彩直方图对比+色域覆盖范围分析
  • GB/T14710‑2009标准解读
  • 面试官: @SpringBootApplication包含注解解析(答案深度解析)持续更新
  • 面试官: Spring Boot 3自动配置文件位置解析(答案深度解析)持续更新
  • QMCDecode终极指南:3步快速解锁QQ音乐加密文件,免费享受跨设备播放自由
  • 【限时解密】SITS2026内部培训课件首度公开:AI自动生成招投标文件的12个关键控制点