POJ2376 Cleaning Shifts(贪心)
来源:互联网 发布:火影忍者安卓数据 编辑:程序博客网 时间:2024/05/18 01:53
给出每头奶牛的覆盖区间,求最少几头奶牛可以覆盖[1,T]这个区间。(有个问题需要注意一下,比如T=10,1-5,6-10这就算全部覆盖了,覆盖的是点)
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#define rep(i,n) for(int (i)=0;(i)<n;(i)++)using namespace std;struct Node{ int l,r;} cow[25010];bool cmp(Node a,Node b){ if(a.r==b.r) return a.l>b.l; return a.r>b.r;}int main(){ //freopen("d:\\Test.txt","r",stdin); int n,m; scanf("%d%d",&n,&m); rep(i,n) scanf("%d%d",&cow[i].l,&cow[i].r); sort(cow,cow+n,cmp); int ncount=1; int j=0; for(int i=0; i<n; i++) { if(cow[i].r<m) break; j++; } if(j==0) { cout<<"-1"<<endl; return 0; } int k=cow[j-1].l; int L=k; int i=j; while(i<n) { bool flag=false; if(cow[i].r<k-1) {cout<<"-1"<<endl;return 0;} while(i<n&&cow[i].r>=k-1) { if(L>cow[i].l) { L=cow[i].l; flag=true; } i++; } if(flag) ncount++; k=L; if(k==1) break; } if(k>1) cout<<"-1"<<endl; else cout<<ncount<<endl; 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
- Leetcode:signal_number_ii
- ORACLE 重建EM库
- NYOj题目793 又见 Lucky Number(水题)
- getContextPath、getServletPath、getRequestURI的区别
- windows资源管理器已停止工作
- POJ2376 Cleaning Shifts(贪心)
- 数据结构实验之求二叉树后序遍历和层次遍历
- 创建quick项目
- 给一整型变量a,写两段代码,第一个设置a的bit3,第二个清除a的bit3.“a的bit3”
- 小白学c++之单例模式和右值引用
- 第十八章 18.2.2节练习
- 2014年10月10号正式开通CSDN微博,开始原创文章的编写,敬请期待!!
- HDU 2036 改革春风吹满地
- Retrospective--The Way To Make Things Better