poj2376 Cleaning Shifts
来源:互联网 发布:2017双十一数据 编辑:程序博客网 时间:2024/05/17 08:28
题意:已知有n个区间,和一个数字t。要求用最少的区间数去覆盖[1,t]这个区间,如果不能完全覆盖,输出-1
按区间起点由大到小排序,每次都寻找覆盖的最广的区间来覆盖部分。
#include<cstdio>#include<algorithm>#define Max(a,b) a>b?a:busing namespace std;struct time{int start;int end;}data[25001];bool cmp(time a,time b){return a.start<=b.start;}int main(){int n,t,ans=0;scanf("%d%d",&n,&t);for(int i=0;i<n;i++)scanf("%d%d",&data[i].start,&data[i].end);sort(data,data+n,cmp);int index=0;int end=0;while(end<t){int begin = end+1;for(int i=index;i<n;i++){if(data[i].start<=begin){if(data[i].end>=begin)end = Max(end,data[i].end);}else{index=i;break;}}if(begin>end){printf("-1\n");return 0;}else{ans++;}}printf("%d\n",ans);return 0;}
0 0
- poj2376 Cleaning Shifts
- POJ2376 Cleaning Shifts 贪心
- poj2376 Cleaning Shifts 贪心
- POJ2376 Cleaning Shifts(贪心)
- POJ2376 Cleaning Shifts 【贪心】
- POJ2376-Cleaning Shifts
- POJ2376贪心Cleaning Shifts
- poj2376 Cleaning Shifts
- POJ2376 Cleaning Shifts(贪心)
- [POJ2376]Cleaning Shifts
- POJ2376 Cleaning Shifts (贪心)
- poj2376 Cleaning Shifts
- poj2376 Cleaning Shifts(区间贪心)
- poj2376(Cleaning Shifts)贪心算法
- 区间贪心:POJ2376--Cleaning Shifts
- POJ2376-Cleaning Shifts-区间贪心
- POJ2376--Cleaning Shifts(贪心)
- POJ2376 Cleaning Shifts (贪心)
- 程序员面试金典--笔记(精华篇)
- 深入理解哈希表(JAVA和Redis哈希表实现)
- spring service层配置
- STL容器 vector,list,deque 性能比较
- C语言图形编程中的绘图函数~
- poj2376 Cleaning Shifts
- LeetCode_283. Move Zeroes
- C++三种容器:list、vector和deque的区别
- HTML5之SVG 2D入门1—SVG(可缩放矢量图形)概述
- 深度增强学习(DQN)的各种改进(一)
- Hdu-5806 NanoApe Loves Sequence(尺取法)
- hibernate进二阶之项目中session的管理方式
- 线程小酌之理解线程池
- 对 laravel 中服务提供者(Provider)和 门面(Facades) 的理解