acwing 905 区间问题-区间选点
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 区间问题-区间选点相关推荐
- [AcWing] 905. 区间选点(C++实现)贪心---区间问题例题
[AcWing] 905. 区间选点(C++实现)贪心---区间问题例题 1. 题目 2. 读题(需要重点注意的东西) 3. 解法 4. 可能有帮助的前置习题 5. 所用到的数据结构与算法思想 6. ...
- ACWing 908.最大不相交区间数量
解题思路: 本题与ACWing 905.区间选点思路类似,可以把选的每个点覆盖到的区间看成一个整体,所有整体之间互不相交,即最大不相交区间数量. 完整代码如下: #include<bits/st ...
- P6327 区间加区间sin和 线段树 + 数学
传送门 文章目录 题意: 思路: 题意: 给你一个长度为nnn的序列aaa,有mmm次操作,每次操作分两种类型: (1)l,r,v(1)l,r,v(1)l,r,v,将al,al+1,...,ara_l ...
- 线段树(区间更改,区间查最值)模板
线段树(区间更改,区间查最值)模板 主要重在理解线段树,理解了怎么改都可以,还有以后不要直接抄模板,要写出自己想的一份代码 &代码: #include <cstdio> #incl ...
- LeetCode 57. 插入区间(合并区间+排序)(区间重叠问题汇总)
题目描述 给出一个无重叠的 ,按照区间起始端点排序的区间列表. 在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间). 示例 1: 输入: interval ...
- 整数、区间与区间端点(三)
整数.区间与区间端点 整数.区间与区间端点 (二) 追比分,比如现在是 5:10,追 5 球,打平,追 6 球,则领先: 区间左端点往左,是扩大区间,左端点向右,是缩小区间: 同理对于右端点,向左是缩 ...
- 整数、区间与区间端点 (二)
整数.区间与区间端点 1. 区间 1.1 区间起始位置 ss,长度 ℓ\ell 与终点 ee 三者应满足的关系为: ℓ=e−s+1 \ell=e-s+1 所以已知区间终点,和区间长度,求起始位置: s ...
- 几个线段树板子(区间加/区间加与乘)
一直仰慕dl能够把线段树玩出花来,所以就想手写并整理一下几个常见的线段树板子(主要是结构化得好看一些) Part Ⅰ区间加法+区间求和 洛谷P3372 基础中的基础 //luogu P3372 199 ...
- 第3关:基础正则表达式--区间与区间取反
任务描述 本关任务:运用正则表达式的区间表示方法,编写一个能从文本中快速匹配到数字与不是数字字符的小程序. 相关知识 为了完成本关任务,你需要掌握: 正则表达式区间的表达方式: 正则表达式区间取反的表 ...
最新文章
- Linux上实现ssh免密码登陆远程服务器
- iOS 开发 OC编程 数组冒泡排序.图书管理
- 【 FPGA 】FIR 滤波器结构和优化(一)之滤波器的对称性(Filter Symmetry)
- 从语句 char* p=test 说起
- mysql like ilike_MySQLilike 子句
- 每日英文2013.06.19
- mavenFailed to execute goal org.apache.maven.plugins:maven-surefire-plugin解决方法
- 关于Toast 详解
- EditPlus注册码 亲测最新版可用
- 【转载】大型网站性能
- 权限申请弹框_安卓Q | 位置权限三态化解析,用户要关心,开发者须警惕!
- 中国铁塔行业市场企业投资及运营策略分析报告2022-2028年版
- 三菱plc 毕设_PLC入门难?怎么快速学好PLC?
- 生成模型应用——使用变分自编码器(VAE)控制人脸属性生成人脸图片
- 从0开始,如何运营一个公众号?
- 手把手教你用JAVA调用Websocket实现“声音转换”功能(变声)标贝科技
- Python 中的多进程(进程之间的通信)
- python在Scikit-learn中用决策树和随机森林预测NBA获胜者
- mysql pga_PGA概述
- Visual Studio2019自定义项目模板
热门文章
- 汽车各部位名称及故障处理
- 千锋2018年最新php基础进阶加高级实战全套视频教程
- 论文笔记_SIGGRAPH2019会前课程:An Introduction to Physics-Based Animation_1
- 信息系统项目管理师(进阶篇)-信息化与信息系统
- 《区块链技术与应用》北大肖臻老师——课程笔记【6-8】
- 用jk触发器构成二分频电路_如何用下沿触发JK触发器设计一个同步二,四分频电路?...
- 「集成架构」ETL工具大比拼:Talend vs Pentaho
- dx绘制2d图像_在DirectX 中进行2D渲染
- 梅尔频谱图与音频相互转化
- c语言程序设计教程刘三满答案,清华大学出版社-图书详情-《C语言程序设计教程》...