• 区间选点与最大不相交区间数量代码一样

思路

  1. 将每个区间按照右端点从小到大进行排序

  2. 从前往后枚举区间,end值初始化为无穷小

    • 如果本次区间不能覆盖掉上次区间的右端点, ed < range[i].l,说明需要选择一个新的点, res ++ ; ed = range[i].r;
    • 如果本次区间可以覆盖掉上次区间的右端点,则进行下一轮循环

时间复杂度 O(nlogn)O(nlogn)
证明

  1. 证明ans<=cntcnt 是一种可行方案, ans是可行方案的最优解,也就是最小值。
  2. 证明ans>=cntcnt可行方案是一个区间集合,区间从小到大排序,两两之间不相交。

所以覆盖每一个区间至少需要cnt个点。

题目

代码

#include <iostream>
#include <algorithm>
using namespace std;const int N = 100010;
int n;
struct Range
{int l, r;      //把区间存进来bool operator< (const Range &w) const{return r < w.r;}
}range[N];int main()
{scanf("%d", &n);for (int i = 0; i < n; i ++){int l, r;scanf("%d%d", &l, &r);range[i] = {l, r};}sort(range, range + n);//从左往右扫描//res表示当前点选择的数量,ed表示上一个点的下标,最开始一个点都没有选择,可以把上一个点赋成负无穷int res = 0, ed = -2e9;for (int i = 0; i < n; i ++)if (range[i].l > ed) //当前点的左端点大于上一个点的右端点,说明有重合{res ++;ed = range[i].r;  //更新}cout << res;   return 0;
}

【48. 贪心(区间选点)】相关推荐

  1. 贪心——区间选点问题(用最少数量的箭引爆气球 Leetcode 452)

    题目选自Leetcode 452 简单的一道贪心题,主要运用排序和贪心的思想~ 我们先看看题目: 在二维空间中有许多球形的气球.对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标.由于它是 ...

  2. 贪心法——区间选点问题

    贪心法--区间选点问题 区间选点问题.数轴上有nn个闭区间[ai,bi][a_i, b_i].取尽量少的点,使得每个区间内都至少有一个点(不同区间内含的点可以是同一个). 贪心思想:先按bb从小到大进 ...

  3. 【贪心】AcWing 803. 区间选点

    905. 区间选点 文章目录 题目描述 输入格式: 输出格式: 数据范围 输入样例 输出样例 方法:贪心 解题思路 代码 复杂度分析: 题目描述 给定 N 个闭区间 [ a i , b i ] [a_ ...

  4. 贪心算法——区间选点问题

    转载:https://blog.csdn.net/xia842655187/article/details/51944763 区间选点的问题大致可以描述为:  给定N个区间[a,b],取尽量少的点,使 ...

  5. [AcWing] 905. 区间选点(C++实现)贪心---区间问题例题

    [AcWing] 905. 区间选点(C++实现)贪心---区间问题例题 1. 题目 2. 读题(需要重点注意的东西) 3. 解法 4. 可能有帮助的前置习题 5. 所用到的数据结构与算法思想 6. ...

  6. NYOJ 287 Radar 贪心之 区间选点

    Radar 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述 Assume the coasting is an infinite straight line. Land ...

  7. 【贪心策略】区间选点问题

    问题描述: Description You are given n closed, integer intervals [ai, bi] and n integers c1,-, cn. Write ...

  8. 区间选点 and 最大不相交区间

    区间选点 题目描述 给定 N 个闭区间 [ai,bi],请你在数轴上选择尽量少的点,使得每个区间内至少包含一个选出的点. 输出选择的点的最小数量. 位于区间端点上的点也算作区间内. 输入输出及样例 最 ...

  9. acwing 区间选点-java-贪心

    贪心算法 选择当前最好的情况走过去 (短视) 每次选择局部最优解 然后最后走到全局最优解 但是只能是单峰的情况下,才可以使用贪心 . 多峰的情况下 就通过这个够呛找到全局最优解. 两种模板(区间选点, ...

最新文章

  1. android悬浮动态权限,android应用内悬浮窗-自动贴边,不需要权限!
  2. CTFshow php特性 web93
  3. loj 1316(spfa预处理+状压dp)
  4. jQuery面向对象写法规定写法样式规定
  5. C#得到CPU的序列号、硬盘序列号、网卡序列号
  6. LeetCode 676. 实现一个魔法字典(哈希)
  7. 未来人工智能应用体现出的核心技术有哪些?
  8. 网易云api如何调用_谈谈网易云如何快速升级
  9. InstallShield使用完全教程
  10. u盘装了linux后无法格式化,U盘制作ubuntu安装盘后无法格式化处理
  11. num =10在c语言中是什么意思,num是什么词性
  12. JPinyin繁体相互转换
  13. 微信公众号ajax500,普通js使用ajax,微信公众号授权(微信网页授权)
  14. 2022年广西医院三基考试中医学综合训练题及答案
  15. 透过数字化转型再谈数据中台(三):一文遍历大数据架构变迁史
  16. 如何开发一个 WPS 加载项
  17. LruCache的终极解析
  18. WinForm(八)窗体,窗体
  19. 二分图的最大匹配算法
  20. 办公最常用哪个邮箱?怎么申请商务邮箱?

热门文章

  1. js -- 打开新窗口(window.open)、关闭窗口(window.close)
  2. Canvas实现放大镜效果
  3. 计算机怎么登录用户名和密码忘了怎么办,忘记了路由器的登录用户名与密码怎么办...
  4. 自然语言处理NLP星空智能对话机器人系列:深入理解Transformer自然语言处理 基于BERT模型微调实现句子分类
  5. REST 接口 原文翻译
  6. jupyter notebook 写代码自动补全
  7. stm32解锁电调、电机速度控制
  8. java代码实现二叉树的遍历
  9. 最新版java(JDK-14)下载及安装
  10. ISP pipeline之lens shading correction