BZOJ2096 Pilots
来源:互联网 发布:搬瓦工 python vps 编辑:程序博客网 时间:2024/05/15 17:25
Description
Tz又耍畸形了!!他要当飞行员,他拿到了一个飞行员测试难度序列,他设定了一个难度差的最大值,在序列中他想找到一个最长的子串,任意两个难度差不会超过他设定的最大值。耍畸形一个人是不行的,于是他找到了你。
Input
输入:第一行两个有空格隔开的整数k(0<=k<=2000,000,000),n(1<=n<=3000,000),k代表Tz设定的最大值,n代表难度序列的长度。第二行为n个由空格隔开的整数ai(1<=ai<=2000,000,000),表示难度序列。
Output
输出:最大的字串长度。
简单的单调队列题,由于一遍就AC了因此也没什么特别注意的。。。
权当存个代码吧。
自己的代码:
#include<cstdio>#define gm 3000001using namespace std;typedef unsigned int uint;uint k,n;uint left=0;uint ans=0;uint v[gm],up[gm],down[gm],fu=1,fd=1,ru=0,rd=0;void push(int x){ while(fu<=ru&&v[x]<v[up[ru]]) --ru; up[++ru]=x; while(fd<=rd&&v[down[rd]]<v[x]) --rd; down[++rd]=x; while(v[down[fd]]-v[up[fu]]>k) { ++left; if(up[fu]==left) ++fu; if(down[fd]==left) ++fd; } if(x-left>ans) ans=x-left;}int main(){ scanf("%u%u",&k,&n); for(int i=1;i<=n;i++) scanf("%u",&v[i]),push(i); printf("%u",ans); return 0;}
0 0
- bzoj2096 pilots
- BZOJ2096 Pilots
- bzoj2096【poi2010】Pilots
- 【POI2010】【BZOJ2096】Pilots
- BZOJ2096 [Poi2010]Pilots
- 【POI2010】BZOJ2096 pilots
- [BZOJ2096][POI]Pilots
- bzoj2096 [Poi2010]Pilots
- 【bzoj2096】[Poi2010]Pilots
- BZOJ2096 [Poi2010]Pilots
- 【bzoj2096】[Poi2010]Pilots 单调队列
- [BZOJ2096][Poi2010]Pilots(单调队列)
- [bzoj2096][Poi2010]Pilots(二分+单调队列)
- BZOJ2096: [Poi2010]Pilot
- Pilots(pilots)题解
- The Pilots Brothers' refrigerator
- The Pilots Brothers' refrigerator
- POJ2965_The Pilots Brothers' refrigerator
- 还原EAS oracle 标准库
- Android:Unsupported major.minor version 52.0
- 通道,滤镜——冰封字效果——魔兽
- HDU4283(区间dp)详解
- poj 1789 Truck History(最小生成树)
- BZOJ2096 Pilots
- Java 微信公众号上传永久素材的方法
- 深入理解java异常处理机制
- js的stopProgagation,preventDefault以及return false详解
- Referenced file contains errors (http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
- [vijosP1076]海战
- HDU 5760 Palindrome Bo(dp)
- 【leetcode Database】178. Rank Scores
- 使用Putty登陆后设置标题栏显示IP