[BZOJ 1293][SCOI2009]生日礼物:单调队列
2017-04-17 14:24
411 查看
点击这里查看原题
把所有珠子读进来,按位置排序,做单调队列。
讨论区有人说inf要设成2^31-1,于是就把ans设为了0x7fffffff。
把所有珠子读进来,按位置排序,做单调队列。
讨论区有人说inf要设成2^31-1,于是就把ans设为了0x7fffffff。
/* User:Small Language:C++ Problem No.:1293 */ #include<bits/stdc++.h> #define ll long long #define inf 999999999 using namespace std; const int M=1e6+5; int n,k,tot,s,t,num[65],res,ans=0x7fffffff; struct no{ int p,c; bool operator<(const no b)const{ return p<b.p; } }z[M]; int main(){ freopen("data.in","r",stdin);// scanf("%d%d",&n,&k); for(int i=1;i<=k;i++){ int sum,x; scanf("%d",&sum); while(sum--){ scanf("%d",&x); z[++tot]=(no){x,i}; } } sort(z+1,z+tot+1); s=1; for(int i=1;i<=tot;i++){ if(++num[z[i].c]==1) res++; while(res==k&&s<=tot){ if(num[z[s].c]==1) break; num[z[s].c]--; s++; } if(res==k) ans=min(ans,z[i].p-z[s].p); } printf("%d\n",ans); return 0; }
相关文章推荐
- [BZOJ 1293] SCOI 2009 生日礼物 · 单调队列
- BZOJ 1293: [SCOI2009]生日礼物【单调队列】
- [bzoj1293][SCOI2009]生日礼物 单调队列优化dp
- [bzoj1293][SCOI2009]生日礼物(单调队列)
- 【bzoj 1293】[SCOI2009]生日礼物(乱搞|单调队列)
- bzoj 1293: [SCOI2009]生日礼物【单调队列】
- bzoj 1293: [SCOI2009]生日礼物 (单调队列)
- [BZOJ1293][SCOI2009]生日礼物(单调队列)
- 【bzoj 1293】[SCOI2009] 生日礼物 指针维护队列
- BZOJ1293: [SCOI2009]生日礼物
- 【BZOJ】1293 [SCOI2009]生日礼物 (这题有多种解法)
- BZOJ1293: [SCOI2009]生日礼物
- 【BZOJ 1293】[SCOI2009]生日礼物
- bzoj 1293: [SCOI2009]生日礼物
- [BZOJ] 1293 - [SCOI2009] - 生日礼物 - 离散化 - 尺取法 - 状态压缩
- BZOJ 1293: [SCOI2009]生日礼物【毛毛虫】
- [bzoj1293][SCOI2009]生日礼物
- BZOJ 1293 SCOI2009 生日礼物 堆
- 【BZOJ1293】【SCOI2009】生日礼物
- bzoj 1293: [SCOI2009]生日礼物