BZOJ 3389--Cleaning Shifts安排值班(贪心)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BZOJ 3389--Cleaning Shifts安排值班(贪心)相关的知识,希望对你有一定的参考价值。
日常刷水题。。。
题目链接:
http://www.lydsy.com/JudgeOnline/problem.php?id=3389
Solution
每一只奶牛的空余时间都有一个 start 和 end 。。
刚开始时间 t = 0 ,每一次取 start 小于或等于 t + 1 的牛当中end最大的一只,并更新 t 即可。
代码
#include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #include<iostream> using namespace std; int N,T; struct cow{ int l,r; }c[30000]; bool cmp(cow p,cow q){ if(p.l==q.l) return p.r<q.r; return p.l<q.l; } int main(){ int ans=0; scanf("%d%d",&N,&T); for(int i=1;i<=N;i++) scanf("%d%d",&c[i].l,&c[i].r); sort(c+1,c+1+N,cmp); int t=0,k=1; while(t<T&&k<=N){ int s=t; while(c[k].l<=(t+1)&&k<=N){ if(c[k].r>s) s=c[k].r; k++; } if(t==s) break; t=s; ans++; } if(t<T) ans=-1; printf("%d\n",ans); return 0; }
This passage is made by Iscream-2001.
以上是关于BZOJ 3389--Cleaning Shifts安排值班(贪心)的主要内容,如果未能解决你的问题,请参考以下文章
vim编辑器 shift + $ 行尾,shift + ^ 行首
emacs 相当于 vim 的 shift-h 和 shift-l
理解 Keras 的 ImageDataGenerator 类中的 `width_shift_range` 和 `height_shift_range` 参数