BestCoder Round #2 1001 TIANKENG’s restaurant
不得不说,bastcoder是个hack游戏啊。!。
题意:求最少要多少张椅子才干让全部来的客人有地方坐!!
就是一个区间的处理吧!!!和HDU 1556 我待水似流年。流年待我似水神似!
。。!
求的是重叠的区间最大,我们仅仅要标记每一个区间会有多少人就能够了!
!
!
然后在从0到1440分统计就OK了。!
AC代码例如以下:
#include<iostream> #include<cstdio> #include<cmath> #include<map> #include<algorithm> #include<cstring> #define ll long long using namespace std; struct h { int r,h1,m1,h2,m2; }a[10005]; int main() { int t; cin>>t; int i,j; int b[2000]; while(t--) { memset(b,0,sizeof b); int n; cin>>n; for(i=0;i<n;i++) { scanf("%d %d:%d %d:%d",&a[i].r,&a[i].h1,&a[i].m1,&a[i].h2,&a[i].m2); a[i].m1=a[i].m1+60*a[i].h1;a[i].m2=a[i].m2+60*a[i].h2; b[a[i].m1]+=a[i].r;b[a[i].m2]-=a[i].r; } int maxx; maxx=0; int ans=0; for(i=0;i<=1440;i++) { ans+=b[i]; if(ans>maxx) maxx=ans; } cout<<maxx<<endl; } return 0; }