POJ2665 Trees
来源:互联网 发布:淘宝秋季休闲鞋女鞋 编辑:程序博客网 时间:2024/06/05 03:41
对给出的区间进行排序 以开始时间为第一关键字,结束为第二关键字,对排序后的区间进行合并操作, 后面就很简单了#include <iostream>#include <cstdio>#include <algorithm>using namespace std;const int M = 50005;struct node { int star; int endl;}oper[M];int n, m;int ans;bool cmp(node p1, node p2) { if(p1.star != p2.star) return p1.star < p2.star; return p1.endl < p2.endl;}int main(){ while(scanf("%d%d", &n, &m) != EOF) { if(!n && !m) break; for(int i = 0; i < m; i++) scanf("%d%d", &oper[i].star, &oper[i].endl); sort(oper, oper + m, cmp); int s = oper[0].star; int e = oper[0].endl; int i = 1; int k = 0; while(i < m) { //合并操作。 if(s <= oper[i].star && oper[i].endl <= e){ i++; }else if(s <= oper[i].star && oper[i].endl > e && e >= oper[i].star){ e = oper[i].endl; i++; }else { oper[k].star = s; oper[k++].endl = e; s = oper[i].star; e = oper[i].endl; i++; } } oper[k].star = s; oper[k].endl = e; ans = n+1; for(i = 0; i <= k; i++) { ans -= (oper[i].endl - oper[i].star + 1); //printf("%d %d %d %d\n", i, oper[i].star, oper[i].endl, ans); } printf("%d\n", ans); } return 0;}
0 0
- poj2665 Trees!
- POJ2665 Trees
- poj2665
- poj2665
- poj2665
- trees
- GWT trees
- Suffix Trees
- Hash Trees
- uva_712_S-Trees
- uva_712_S-Trees
- BK-Trees
- Boosted Trees
- Planting Trees
- Decision Trees
- UVa712_S-Trees
- hdu5200 Trees
- S-Trees
- Android AsyncTask完全解析,带你从源码的角度彻底理解
- mysql中engine=innodb和engine=myisam的区别
- POJ 2503 字典树
- hdu1284
- 还是A+B hdoj 1229
- POJ2665 Trees
- 最短路变形ural1934
- 递归算法
- Oracle常用内置Or自定义函数-SQL宝典
- boost.system
- 更换网站IP最新操作技巧
- Android SDK Manager 无法更新SDK
- 学习Opencv 2.4.9 (一)---Opencv + vs2012环境配置
- svn同步的时候报错