区间选点问题
来源:互联网 发布:golang 协程数量控制 编辑:程序博客网 时间:2024/05/22 01:32
区间选点问题。数轴上有n个闭区间[ai,bi]。取尽量少的点,使得每个区间内都至少有一个点(不同区间内含的点可以是同一个)。
贪心策略:
把所有区间按终点从小到大排序(b相同时a从大到小排序),则如果出现区间包含的情况,小区间一定排在前面。第一个区间应该取最后一个点。
参考:http://blog.csdn.net/dgq8211/article/details/7534776
代码:
#include <bits/stdc++.h>using namespace std;const int maxn = 1010;struct seg{ int a; int b; bool operator < (const seg& S)const { return b<S.b || b==S.b && a>S.a; }}seg[maxn];int main(){ int n; cin>>n; for(int i=0;i<n;i++) cin>>seg[i].a>>seg[i].b; sort(seg,seg+n); /*for(int i=0;i<n;i++) cout<<seg[i].a<<seg[i].b<<endl;*/ int cnt=0; int e = -(1<<30); for(int i=0;i<n;i++) { if(seg[i].a>e) { e=seg[i].b; cnt++; } } cout<<cnt<<endl; return 0;}
阅读全文
0 0
- 区间选点问题【贪心】
- 区间选点问题
- 贪心--区间选点问题
- 区间选点问题
- 区间选点问题
- nyoj区间选点问题
- 区间选点问题
- 区间选点问题(贪心)
- POJ1328-贪心-区间选点问题
- POJ 1328 区间选点问题
- 区间选点问题(贪心)
- 区间选点问题(贪心)
- 区间选点问题---poj-1328
- 区间贪心及区间选点问题
- 区间选点
- 10148 - Advertisement-----贪心,区间选点问题------水题
- POJ1328 区间选点问题(贪心)
- UVAlive 2519 Radar Installation (区间选点问题)
- 子线程开启定时器的两种办法
- 分离了SecondaryNameNode之后的备份文件目录的配置
- DataFrame 删除与增减行列
- JS实现鼠标滚轮缩小放大拖动图片代码
- Java实现判断二叉树是否为平衡二叉树
- 区间选点问题
- RabbitMQ的ack与nack
- JSP+Servlet技术实现分页 首页 下一页 每一页显示10条页码 下一页 尾页 第页/共页 (利用PageBean实现)
- 目标检测思考
- Windows下安装及配置RabbitMQ
- 为什么使用CMake
- 活着的意义
- Imageloader缓存
- Xshell 的基本操作步骤