4385: [POI2015]Wilcze doły|单调队列
来源:互联网 发布:java二级证书 编辑:程序博客网 时间:2024/05/16 09:57
单调队列的题怎么总感觉不是很好想..
枚举右区间,维护一个长度为d的区间使其区间和单调递减并且顺序是从左到右
#include<algorithm>#include<iostream>#include<cstdlib>#include<cstring>#include<vector>#include<cstdio>#include<queue>#include<cmath>#include<set>#include<map>#define ll long long#define N 2000005using namespace std;ll sc(){ ll i=0; char c=getchar(); while(c>'9'||c<'0')c=getchar(); while(c>='0'&&c<='9')i=i*10+c-'0',c=getchar(); return i;} ll a[N],p;int n,d,q[N],ans;int main(){ n=sc(),p=sc(),d=sc(); for(int i=1;i<=n;i++)a[i]=a[i-1]+sc(); int l=1,r=0,st=0;ans=d; for(int i=d;i<=n;i++) { while(l<=r&&a[q[r]]-a[q[r]-d]<a[i]-a[i-d])r--; q[++r]=i; while(a[i]-a[st]-a[q[l]]+a[q[l]-d]>p) { st++; if(q[l]-d<st)l++; } //cout << i<<" "<< st<< endl; ans=max(ans,i-st); } cout<<ans; return 0;}
0 0
- 4385: [POI2015]Wilcze doły|单调队列
- 4385: [POI2015]Wilcze doły (单调队列)
- BZOJ 4385: [POI2015]Wilcze doły 单调队列
- 【BZOJ 4385】[POI2015]Wilcze doły 单调队列
- bzoj 4385: [POI2015]Wilcze doły 单调队列
- 4385: [POI2015]Wilcze doły
- BZOJ 4385: [POI2015]Wilcze doły
- 4385: [POI2015]Wilcze doły
- 【BZOJ4385】[POI2015]Wilcze doły【单调队列】【前缀和】【Two Pointers】
- bzoj4385 Wilcze doły 单调队列
- BZOJ4385: [POI2015]Wilcze doły
- BZOJ4385: [POI2015]Wilcze doły
- [bzoj4385/POI2015]Wilcze doły
- BZOJ4385[POI2015] Wilcze doły
- BZOJ4385 POI2015 Wilcze doły
- 【bzoj4385】 [POI2015]Wilcze doły
- bzoj4385 [POI2015]Wilcze doły
- BZOJ4385: [POI2015]Wilcze doły
- E-easy problem
- Android Studio中的项目 和引用Library中的minSdkVersion要 一致。
- JSON 之 SuperObject(3): 访问
- 图论:最短路径搜索--Dijkstra算法(c代码实现)
- 原来sscanf函数可以这么强大
- 4385: [POI2015]Wilcze doły|单调队列
- 第23讲项目4——三角公式求值
- 学习java的一点心得(二)
- HDU 2544 最短路
- JSON 之 SuperObject(4): 增、删、改
- 欢迎使用CSDN-markdown编辑器
- 怎么解决eclipse报PermGen space异常的问题
- Web 开发工具类(2): HttpClientUtils
- HDU 1260 Tickets (DP)