Sicily8539(单调队列)
2014-03-26 11:45
330 查看
#include <cstdio> #include <cstring> #include <iostream> #include <queue> using namespace std; struct p { int data; int pos; }C[200005]; int a[200005]; int b[200005]; int main() { int n; int i; int T=0; while (1) { T++; deque<struct p> Q; scanf("%d",&n); if (!n) break; for (i=1;i<=n;i++) scanf("%d",&a[i]); for (i=1;i<=n;i++) scanf("%d",&b[i]); C[0].data=0; for (i=1;i<=n;i++) { C[i].data=C[i+n].data=C[i-1].data+a[i]-b[i]; C[i].pos=i; C[i+n].pos=i+n; } printf("Case %d:",T); for (i=1;i<2*n;i++) { while (!Q.empty() && Q.back().data>C[i].data) Q.pop_back(); if (!Q.empty() && Q.front().pos<=i-n) Q.pop_front(); Q.push_back(C[i]); if (i>=n) { int minn=Q.front().data; if (minn-C[i-n].data>=0) printf(" %d",i-n+1); } } printf("\n"); } }
相关文章推荐
- Sicily9162(单调队列)
- 单调栈和单调队列的概念与运用
- BZOJ 1122 POI2008 账本BBB 单调队列
- 栈与队列-单调栈,单调队列
- Vijos1243----用单调队列优化的DP
- POJ 2823 Sliding Window 单调队列
- HDU-5289(单调队列)
- 单调队列 I
- POJ2823Sliding Window(单调队列)
- 滑动窗口(单调队列)讲解_legend
- hdu 3530 Subsequence 单调队列
- POJ 3162 Walking Race 树的直径+单调队列(其实暴力也可以>_<)
- 【单调队列】POJ_2823 Sliding Window
- CF 196B(Psychos in a Line-单调队列贪心)
- POJ2823 单调队列
- HDU 3415 Max Sum of Max-K-sub-sequence 单调队列题解
- [BZOJ1047]HAOI2007理想的正方形|单调队列|DP
- (2017多校训练第二场)HDU - 6047 Maximum Sequence 贪心 + 单调队列
- POJ2823 Sliding Window(单调队列)
- hdu 3415 单调队列