裸的单调队列-poj-2823-Sliding Window
来源:互联网 发布:淘宝达人有什么用处 编辑:程序博客网 时间:2024/05/17 01:42
题目链接:
http://poj.org/problem?id=2823
题目意思:
给n个数,求连续区间长度为k的最大和最小值。
解题思路:
裸的单调队列不解释,用两个队列保存。
代码:
#include<iostream>#include<cmath>#include<cstdio>#include<cstdlib>#include<string>#include<cstring>#include<algorithm>#include<vector>#include<map>#include<set>#include<stack>#include<list>#include<queue>#include<ctime>#define eps 1e-6#define INF 0x3fffffff#define PI acos(-1.0)#define ll __int64#define lson l,m,(rt<<1)#define rson m+1,r,(rt<<1)|1#pragma comment(linker, "/STACK:1024000000,1024000000")using namespace std;#define Maxn 1100000int sa[Maxn];int q1[Maxn],q2[Maxn];int ans1[Maxn],ans2[Maxn];int main(){ //freopen("in.txt","r",stdin); //freopen("out.txt","w",stdout); int n,k; while(scanf("%d%d",&n,&k)!=EOF) { for(int i=1;i<=n;i++) scanf("%d",&sa[i]); int h1=0,t1=-1; int h2=0,t2=-1,cnt=0; for(int i=1;i<=n;i++) { while(h1<=t1&&sa[i]<=sa[q1[t1]]) t1--; while(h2<=t2&&sa[i]>=sa[q2[t2]]) t2--; q2[++t2]=i; q1[++t1]=i; while(q1[h1]<i-k+1) h1++; while(q2[h2]<i-k+1) h2++; if(i>=k) { ans1[++cnt]=sa[q1[h1]]; ans2[cnt]=sa[q2[h2]]; } } printf("%d",ans1[1]); for(int i=2;i<=cnt;i++) printf(" %d",ans1[i]); printf("\n%d",ans2[1]); for(int i=2;i<=cnt;i++) printf(" %d",ans2[i]); putchar('\n'); } return 0;}
- 裸的单调队列-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 ( 单调队列 )
- 单调队列--poj-2823-Sliding Window
- POJ 2823 Sliding Window (单调队列)
- POJ:2823 Sliding Window(单调队列)
- 错误:C:\Windows\System32\ssleay32.dll: Can't load IA 32-bit .dll on a AMD 64-bit
- linux 系统管理员有用的命令
- HDU 1124 Factorial
- 创业公司的股权分配 .
- vs2012下编译生成的release版无法在xp下运行,不是有效的win32应用程序
- 裸的单调队列-poj-2823-Sliding Window
- zoj3721
- session和cookies
- c语言 数组作函数参数
- js closure timer
- MyEclipse10 中的两种FreeMarker插件的安装与配置
- CODE 24: Convert Sorted List to Binary Search Tree
- STM32启动文件选择
- 差分约束