51nod 1133 不重叠的线段 贪心
来源:互联网 发布:c语言flag的用法 编辑:程序博客网 时间:2024/05/22 17:05
题目链接
思路:对所有线段排序,每一次选取一条线段的条件是,情况一:当前线段的左端点大于最近已选的右端点并且当前右端点小于最近已选的左端点。情况二:当前左端点大于最近已选的右端点。
#include <iostream>#include <cstring>#include <algorithm>#include <cstdio>#include <vector>#include <queue>#include <set>#include <map>using namespace std;typedef long long LL;const int MAXN = 10005;struct node{ int l, r;}a[MAXN];bool cmp(node a, node b){ if(a.l!=b.l) return a.l<b.l; if(a.r!=b.r) return a.r<b.r; return false;}int main(){ int n; while(~scanf("%d", &n)) { for(int i=1; i<=n; ++i) scanf("%d %d" ,&a[i].l,&a[i].r); sort(a+1,a+n+1,cmp); int ans=1, l=a[1].l, r=a[1].r; for(int i=2;i<=n;++i) { if(a[i].l!=l) { if(a[i].l>=r) { ans++; l=a[i].l,r=a[i].r; } else { if(a[i].r<=r) { r=a[i].r; l=a[i].l; } } } } printf("%d\n", ans); } return 0;}
阅读全文
0 0
- 51nod 1133 不重叠的线段(贪心)
- 51nod 1133 不重叠的线段 贪心
- 51nod 1133 不重叠的线段(贪心)
- 51Nod 1133 不重叠的线段 (区间贪心
- 51nod 1133 不重叠的线段(贪心)
- 51nod 1133 不重叠的线段(贪心)
- 51nod 1133 不重叠的线段(贪心)
- 51nod 1133 不重叠的线段 贪心
- 51Nod 1133 不重叠的线段 贪心
- 51NOD 1091 线段重叠 51 NOD 1133不重叠线段 贪心
- 51NOD 1133 不重叠的线段
- 51nod 1133 不重叠的线段
- 51nod 1133 不重叠的线段
- 51nod-1133 不重叠的线段
- 51nod 1133 不重叠的线段
- 51Nod 1133 不重叠的线段
- 51nod 1133 不重叠的线段
- 51nod 1133 不重叠的线段
- sql语句:不为空
- hibernate实现分页的几种方式
- C#读写二进制文件
- 内核LCD驱动结构分析及实例分析
- python小结
- 51nod 1133 不重叠的线段 贪心
- python使用requests爬取网页,遇到中文出现遇到中文出现乱码的编码问题及解决乱码的编码问题及解决
- 多态的实现原理
- unity
- p1731蛋糕提示
- IOS应用之间跳转
- 数据结构之线性表(单链表)复习题
- 微信开放平台开发(2) 网站应用微信登录
- python爬虫第五节课及作业答案