bzoj2096 pilots

时间:2022-08-27 11:54:44

依旧是维护两个单调队列,只是队首检查的方式略有变动

 /*by SilverN*/
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cstdio>
#include<cmath>
using namespace std;
const int mxn=;
struct que{
int v;//val
int p;//pos
};
que mx[mxn],mi[mxn];
int h1,h2,t1,t2;
int k,n;
int a[mxn];
int ans=;
int main(){
scanf("%d%d",&k,&n);
int i,j;
for(i=;i<=n;i++)scanf("%d",&a[i]);
h1=;h2=;t1=;t2=;
int le=;
for(i=;i<=n;i++){
//max
while(h1<=t1 && a[i]>=mx[t1].v)t1--;
mx[++t1].v=a[i];
mx[t1].p=i;
//min
while(h2<=t2 && a[i]<=mi[t2].v)t2--;
mi[++t2].v=a[i];
mi[t2].p=i; printf("test1 %d\n",mx[h1].v-mi[h2].v);
while(mx[h1].v-mi[h2].v>k){//若两队首元素差大于k,更新队头
le=min(mx[h1].p,mi[h2].p)+;
while(le>mx[h1].p)h1++;//队首维护
while(le>mi[h2].p)h2++; }
printf("test2 %d\n",mx[h1].v-mi[h2].v);
ans=max(ans,i-le+);
}
printf("%d\n",ans-1);
return ;
}

bzoj2096 pilots的更多相关文章

  1. 【BZOJ2096】&lbrack;Poi2010&rsqb;Pilots 双指针&plus;单调队列

    [BZOJ2096][Poi2010]Pilots Description Tz又耍畸形了!!他要当飞行员,他拿到了一个飞行员测试难度序列,他设定了一个难度差的最大值,在序列中他想找到一个最长的子串, ...

  2. bzoj2096&lbrack;Poi2010&rsqb;Pilots 单调队列

    2096: [Poi2010]Pilots Time Limit: 30 Sec  Memory Limit: 162 MBSubmit: 983  Solved: 513[Submit][Statu ...

  3. bzoj2096&colon; &lbrack;Poi2010&rsqb;Pilots

    Description Tz又耍畸形了!!他要当飞行员,他拿到了一个飞行员测试难度序列,他设定了一个难度差的最大值,在序列中他想找到一个最长的子串,任意两个难度差不会超过他设定的最大值.耍畸形一个人是 ...

  4. 【单调队列】bzoj2096 &lbrack;Poi2010&rsqb;Pilots

    用两个单调队列维护序列中的最大值和最小值即可. poi~ #include<cstdio> #include<algorithm> using namespace std; i ...

  5. BZOJ2096:&lbrack;POI2010&rsqb;Pilots

    浅谈队列:https://www.cnblogs.com/AKMer/p/10314965.html 题目传送门:https://lydsy.com/JudgeOnline/problem.php?i ...

  6. 【bzoj2096】&lbrack;Poi2010&rsqb;Pilots 双指针法&plus;STL-set

    题目描述 Tz又耍畸形了!!他要当飞行员,他拿到了一个飞行员测试难度序列,他设定了一个难度差的最大值,在序列中他想找到一个最长的子串,任意两个难度差不会超过他设定的最大值.耍畸形一个人是不行的,于是他 ...

  7. POJ 2965&period; The Pilots Brothers&&num;39&semi; refrigerator 枚举or爆搜or分治

    The Pilots Brothers' refrigerator Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 22286 ...

  8. POJ2965The Pilots Brothers&&num;39&semi; refrigerator&lpar;枚举&plus;DFS&rpar;

    The Pilots Brothers' refrigerator Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 22057 ...

  9. The Pilots Brothers&&num;39&semi; refrigerator(dfs&rpar;

    The Pilots Brothers' refrigerator Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 19718 ...

随机推荐

  1. Mysql使用mysqldump按时间导出时的一个注意事项

    在使用Mysql的mysqldump命令按时间进行数据导出时,我们可能会遇到导出数据与原库中不符或者导出数据和我们期望的数据不同的情况. 我们知道Mysql数据库导出可以使用命令mysqldump,使 ...

  2. Unity3D游戏制作(四)——Asset Server搭建

    本系列文章由 Amazonzx 编写,欢迎转载,转载请注明出处. http://blog.csdn.net/amazonzx/article/details/7980117 Asset Server是 ...

  3. IF IE

    1. <!--[if !IE]><!--> 除IE外都可识别 <!--<![endif]-->2. <!--[if IE]> 所有的IE可识别 & ...

  4. 在线重定义(Rdefine Table online)

    二.        概念理解 在线重定义用于对表的逻辑或者物理结构的修改,而且在修改时不影响表的可用性与传统方式相比.当一个表被重定义时,会被锁定为exclusive mode很短一段时间,这段时间的 ...

  5. NGINX小技巧--将所有目录和目录下所有文件分别给与不同的权限

    为了安全,有时要将文件的权限进行限制,但,目录如果没有755,则不能进入. 所以需要分别给权限 find ./ -type f -name "*" |xargs ls -l

  6. JS操作select标签

    主要利用这个来实现省市区三级联动的 我利用的是ajax,每一次onchange事件都改变相对应的select中的option,数据全是ajax请求服务器查询数据库而来的,效果还可以,在本地测试的时候速 ...

  7. SSH程序框架的整合&lpar;1&rpar;

    spring整合hibernate 有两种方式 1.注解方式 2.xml方式实现 Spring整合Hibernate有什么好处? 1.由IOC容器来管理Hibernate的SessionFactory ...

  8. Python垃圾回收机制--完美讲解&excl;

    转自: http://www.jianshu.com/p/1e375fb40506 先来个概述,第二部分的画述才是厉害的. Garbage collection(GC) 现在的高级语言如java,c# ...

  9. SQL Server初探

    SQL Server的结构与Oracle不同,SQL Server里边可以包括很多的database,每个database有自己的表,用户等信息.比如目前有一个应用,应用的每个数据集都是一个datab ...

  10. qunee 开发清新、高效的拓扑图组件 http&colon;&sol;&sol;www&period;qunee&period;com&sol;

    qunee  开发清新.高效的拓扑图组件  http://www.qunee.com/ RoadFlow:  http://www.cqroad.cn/ 村暖花开