Acwing 905. 区间选点

题目描述

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

输入格式

第一行包含整数 N,表示区间数。
接下来 N
行,每行包含两个整数 ai,bi,表示一个区间的两个端点。

输出格式

输出一个整数,表示所需的点的最小数量。

数据范围

1≤N≤105,
−109≤ai≤bi≤109

思路

我们将能通过一个点连接起来的区间称作一个集合。
这个集合的所有区间的右边界的最大值称作集合的右边界。
通过区间右边界进行排序,这样我们就能得到一个右边升序的排列。
然后我们就遍历这些区间,因为右边的边界上升,我们只需要关注左边。
每次来一个新的区间,我们只需要比较左边的边界,如果大于当前集合的右边界那么我们就需要要开辟一个新的区间。这样我们就能保证每次都尽可能用一个点包含尽可能多的的区间了。

代码

#include<iostream>
#include<string>
#include<algorithm>
using namespace std ;
int n,m;
struct qu{int l,r;bool operator < (struct qu B){return r < B.r;}
};const int N =100010;
struct qu arr[N];
int main()
{cin>>n;for(int i =0 ; i< n ;++ i)scanf("%d%d",&arr[i].l,&arr[i].r);sort(arr,arr+n);int cnt = 0;int ans = -2e9;for(int i= 0;i < n; ++ i)if(ans < arr[i].l){cnt++;ans=arr[i].r;}cout<<cnt;return 0;
}
     }cout<<cnt;return 0;

}

acwing 905 区间问题-区间选点相关推荐

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

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

  2. ACWing 908.最大不相交区间数量

    解题思路: 本题与ACWing 905.区间选点思路类似,可以把选的每个点覆盖到的区间看成一个整体,所有整体之间互不相交,即最大不相交区间数量. 完整代码如下: #include<bits/st ...

  3. P6327 区间加区间sin和 线段树 + 数学

    传送门 文章目录 题意: 思路: 题意: 给你一个长度为nnn的序列aaa,有mmm次操作,每次操作分两种类型: (1)l,r,v(1)l,r,v(1)l,r,v,将al,al+1,...,ara_l ...

  4. 线段树(区间更改,区间查最值)模板

    线段树(区间更改,区间查最值)模板 主要重在理解线段树,理解了怎么改都可以,还有以后不要直接抄模板,要写出自己想的一份代码 &代码: #include <cstdio> #incl ...

  5. LeetCode 57. 插入区间(合并区间+排序)(区间重叠问题汇总)

    题目描述 给出一个无重叠的 ,按照区间起始端点排序的区间列表. 在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间). 示例 1: 输入: interval ...

  6. 整数、区间与区间端点(三)

    整数.区间与区间端点 整数.区间与区间端点 (二) 追比分,比如现在是 5:10,追 5 球,打平,追 6 球,则领先: 区间左端点往左,是扩大区间,左端点向右,是缩小区间: 同理对于右端点,向左是缩 ...

  7. 整数、区间与区间端点 (二)

    整数.区间与区间端点 1. 区间 1.1 区间起始位置 ss,长度 ℓ\ell 与终点 ee 三者应满足的关系为: ℓ=e−s+1 \ell=e-s+1 所以已知区间终点,和区间长度,求起始位置: s ...

  8. 几个线段树板子(区间加/区间加与乘)

    一直仰慕dl能够把线段树玩出花来,所以就想手写并整理一下几个常见的线段树板子(主要是结构化得好看一些) Part Ⅰ区间加法+区间求和 洛谷P3372 基础中的基础 //luogu P3372 199 ...

  9. 第3关:基础正则表达式--区间与区间取反

    任务描述 本关任务:运用正则表达式的区间表示方法,编写一个能从文本中快速匹配到数字与不是数字字符的小程序. 相关知识 为了完成本关任务,你需要掌握: 正则表达式区间的表达方式: 正则表达式区间取反的表 ...

最新文章

  1. Linux上实现ssh免密码登陆远程服务器
  2. iOS 开发 OC编程 数组冒泡排序.图书管理
  3. 【 FPGA 】FIR 滤波器结构和优化(一)之滤波器的对称性(Filter Symmetry)
  4. 从语句 char* p=test 说起
  5. mysql like ilike_MySQLilike 子句
  6. 每日英文2013.06.19
  7. mavenFailed to execute goal org.apache.maven.plugins:maven-surefire-plugin解决方法
  8. 关于Toast 详解
  9. EditPlus注册码 亲测最新版可用
  10. 【转载】大型网站性能
  11. 权限申请弹框_安卓Q | 位置权限三态化解析,用户要关心,开发者须警惕!
  12. 中国铁塔行业市场企业投资及运营策略分析报告2022-2028年版
  13. 三菱plc 毕设_PLC入门难?怎么快速学好PLC?
  14. 生成模型应用——使用变分自编码器(VAE)控制人脸属性生成人脸图片
  15. 从0开始,如何运营一个公众号?
  16. 手把手教你用JAVA调用Websocket实现“声音转换”功能(变声)标贝科技
  17. Python 中的多进程(进程之间的通信)
  18. python在Scikit-learn中用决策树和随机森林预测NBA获胜者
  19. mysql pga_PGA概述
  20. Visual Studio2019自定义项目模板

热门文章

  1. 汽车各部位名称及故障处理
  2. 千锋2018年最新php基础进阶加高级实战全套视频教程
  3. 论文笔记_SIGGRAPH2019会前课程:An Introduction to Physics-Based Animation_1
  4. 信息系统项目管理师(进阶篇)-信息化与信息系统
  5. 《区块链技术与应用》北大肖臻老师——课程笔记【6-8】
  6. 用jk触发器构成二分频电路_如何用下沿触发JK触发器设计一个同步二,四分频电路?...
  7. 「集成架构」ETL工具大比拼:Talend vs Pentaho
  8. dx绘制2d图像_在DirectX 中进行2D渲染
  9. 梅尔频谱图与音频相互转化
  10. c语言程序设计教程刘三满答案,清华大学出版社-图书详情-《C语言程序设计教程》...