【单调队列】poj 2823 Sliding Windows
来源:互联网 发布:ccn是什么网络 编辑:程序博客网 时间:2024/05/01 22:01
http://poj.org/problem?id=2823
#include <iostream>#include <cstdio>using namespace std;const int NM=1000005;int a[NM],que[NM];int n,len;void Min_win(){int tail,head,i;head=1;tail=0;for(i=1;i<=len;i++){while(tail>=head&&a[que[tail]]>a[i])tail--;tail++;que[tail]=i;}for(i=len;i<=n;i++){while(tail>=head&&a[que[tail]]>a[i])tail--;tail++;que[tail]=i;while(que[head]<i-len+1)head++;printf("%d",a[que[head]]);if(i<=n) printf(" ");}}void Max_win(){int tail,head,i;tail=0;head=1;for(i=1;i<=len;i++){while(head<=tail&&a[que[tail]]<a[i])tail--;tail++;que[tail]=i;}for(i=len;i<=n;i++){while(head<=tail&&a[que[tail]]<a[i])tail--;tail++;que[tail]=i;while(que[head]<i-len+1)head++;printf("%d",a[que[head]]);if(i<=n) printf(" ");}}int main(){int i;while(scanf("%d%d",&n,&len)!=EOF){for(i=1;i<=n;i++)scanf("%d",&a[i]);Min_win();printf("\n");Max_win();printf("\n");}return 0;}
- 【单调队列】poj 2823 Sliding Windows
- POJ 2823 Sliding Windows(单调队列)
- poj 2823 Sliding Windows 线段树|单调队列
- poj 2823 Sliding Window (单调队列)
- POJ 2823 Sliding Window 堆 / 单调队列
- POJ 2823 Sliding Window 单调队列
- poj 2823 Sliding Window 【单调队列】
- poj 2823 Sliding Window(单调队列)
- POJ 2823 Sliding Window(单调队列)
- poj 2823 Sliding Window(简单单调队列)
- POJ 2823 Sliding Window(单调队列)
- POJ 2823 Sliding Window(单调队列)
- poj 2823 Sliding Window(单调队列)
- POJ 2823 Sliding Window(单调队列)
- poj 2823 Sliding Window(单调队列)
- POj 2823 Sliding Window 单调队列
- poj 2823 Sliding Window ( 单调队列 )
- 单调队列--poj-2823-Sliding Window
- 机房收费系统的上下机
- 不是技术牛人,如何拿到国内IT巨头的Offer
- 软件项目开发模板(邮件接收器)
- Linux命令的一般通用格式
- hadoop2.0 ha failover 遇到的问题
- 【单调队列】poj 2823 Sliding Windows
- EL表达式
- 转发与重定向
- tftp服务器的安装、启用以及完全正确步骤安装后未出现提示的问题解决
- 指针与引用的区别
- 浏览器加载渲染网页过程解析--总结(三)
- INSERT 语句与 FOREIGN KEY 约束冲突
- 值得看——文章
- 我的Elicpse C++IDE问题解决设置