NY891 区间选点 找点
找点
- 描述
-
上数学课时,老师给了LYH一些闭区间,让他取尽量少的点,使得每个闭区间内至少有一个点。但是这几天LYH太忙了,你们帮帮他吗?
- 输入
-
多组测试数据。
每组数据先输入一个N,表示有N个闭区间(N≤100)。
接下来N行,每行输入两个数a,b(0≤a≤b≤100),表示区间的两个端点。 - 输出
- 输出一个整数,表示最少需要找几个点。
- 样例输入
-
4 1 5 2 4 1 4 2 3 3 1 2 3 4 5 6 1 2 2
- 样例输出
-
1 3 1好久没有刷题了,过个年简单题都想了半天,其实这就是一个简单的贪心题目:先排序一下,直接按开始的点排序,然后进行判断点1.如果下一个区间的点和第一个有交集的话,然后再判断一下,末尾点是不是在这个区间内,选取最小的末尾点,以便于形成最小的区间;2.如果没有区间的话,则新的点就产生了 ,需要重新建立一个共同区间;排序的这一方面,改成快速排序效果更好,关键是要理解这一种方法;AC代码如下:
1 #include<iostream> 2 #include<cstdio> 3 #include<algorithm> 4 #include<cstring> 5 #include<string> 6 #include<cmath> 7 #include<map> 8 using namespace std; 9 int main() 10 { 11 int i,j,k,t,m,n; 12 int a[110],b[101]; 13 while(cin>>t) 14 { 15 int ans=0; 16 for(i=0;i<t;i++) 17 scanf("%d %d",&a[i],&b[i]); 18 for(j=0;j<t-1;j++) 19 for(k=0;k<t-j-1;k++) 20 if(a[k]>a[k+1]) 21 { 22 m=a[k];a[k]=a[k+1];a[k+1]=m; 23 n=b[k];b[k]=b[k+1];b[k+1]=n; 24 } 25 // for(i=0;i<t;i++) 26 // printf("%d %d\n",a[i],b[i]); 27 m=a[0];n=b[0]; 28 for(i=1;i<t;i++) 29 if(a[i]<=n) 30 { 31 if(b[i]<n) 32 n=b[i]; 33 } 34 else 35 {ans++;n=b[i];} 36 printf("%d\n",ans+1); 37 } 38 return 0; 39 }
NY891 区间选点 找点相关推荐
- 【贪心策略】区间选点问题
问题描述: Description You are given n closed, integer intervals [ai, bi] and n integers c1,-, cn. Write ...
- 区间相关问题的学习: 最多不相交区间问题,区间选点问题与区间覆盖问题
区间相关问题包括: 1)最多不相交区间问题; 2)区间选点问题; 3)区间覆盖问题等. 最多不相交区间问题(又叫选择不相交区间,最大不相交覆盖等等),是指数轴上有n个开区间(a,b),选择尽量多个区间 ...
- NYOJ 287 Radar 贪心之 区间选点
Radar 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 Assume the coasting is an infinite straight line. Land ...
- 贪心法——区间选点问题
贪心法--区间选点问题 区间选点问题.数轴上有nn个闭区间[ai,bi][a_i, b_i].取尽量少的点,使得每个区间内都至少有一个点(不同区间内含的点可以是同一个). 贪心思想:先按bb从小到大进 ...
- 【贪心】AcWing 803. 区间选点
905. 区间选点 文章目录 题目描述 输入格式: 输出格式: 数据范围 输入样例 输出样例 方法:贪心 解题思路 代码 复杂度分析: 题目描述 给定 N 个闭区间 [ a i , b i ] [a_ ...
- 贪心算法——区间选点问题
转载:https://blog.csdn.net/xia842655187/article/details/51944763 区间选点的问题大致可以描述为: 给定N个区间[a,b],取尽量少的点,使 ...
- 【48. 贪心(区间选点)】
区间选点与最大不相交区间数量代码一样 思路 将每个区间按照右端点从小到大进行排序 从前往后枚举区间,end值初始化为无穷小 如果本次区间不能覆盖掉上次区间的右端点, ed < range[i]. ...
- [AcWing] 905. 区间选点(C++实现)贪心---区间问题例题
[AcWing] 905. 区间选点(C++实现)贪心---区间问题例题 1. 题目 2. 读题(需要重点注意的东西) 3. 解法 4. 可能有帮助的前置习题 5. 所用到的数据结构与算法思想 6. ...
- acwing 905 区间问题-区间选点
Acwing 905. 区间选点 题目描述 给定 N 个闭区间 [ai,bi] ,请你在数轴上选择尽量少的点,使得每个区间内至少包含一个选出的点. 输出选择的点的最小数量. 位于区间端点上的点也算作区 ...
最新文章
- R语言ggplot2可视化:置信区间与分组具有相同色彩、自定义置信区间带的色彩、Make confidence intervals the same color as line by group
- 微型计算机怎么插耳机,让听音更轻松一些,朗琴E10真无线耳机
- select * from mys where id=2;
- In English or Chinese?
- 为什么gets如此危险?
- cd命令 nodejs_nodejs学习之 - mac 终端常用开发命令(一)
- 文末送书 | 自动机器学习(AutoML):方法、系统与挑战
- ThinkPad R400 安装win2003网卡驱动
- mysql schema 同步_GitHub - naryn/mysql-schema-sync: mysql表结构自动同步工具
- HMS Core 携优势亮相华为发布会,与苹果谷歌三足鼎立
- Vue3.x 推荐使用 mitt.js
- pycharm怎么改成中文版?
- 《VP9 Levels and Decoder Testing》笔记
- mkv转换mp4格式,mkv格式转mp4
- 《动手深度学习》4.5 权重衰减Weight Decay
- Matlab主成分分析法
- iPhone 13 真的要来了!苹果秋季发布会前瞻
- 让代码飞起来,可以很清晰的分清代码 彩虹括号
- 微信开发之服务号设置
- java快速生成数据库文档
热门文章
- VSCode中snippets(代码模板)的使用
- 英语发音规则---ir字母组合发音规律
- 快排优化代码__2018.07.26
- md文件如何编辑和转换(不依赖插件Markdown Viewer)
- 无迹卡尔曼滤波(UKF)超详细解释
- 这篇文章就是要让你入门java多线程【多线程入门】
- 【报错】zipimport.ZipImportError: can‘t decompress data; zlib not available
- python报错“ImportError: The _imagingft C module is not installed”
- 微信小程序跳过第三方的_微信小程序怎么解除第三方授权?
- uc显示无服务器连接,ucenter安装心得和通信失败,同步登陆失败采坑以及解决方法...