【单调队列】POJ 2823 Sliding Window
来源:互联网 发布:淘宝商家所在地怎么改 编辑:程序博客网 时间:2024/06/06 08:50
求 连续的K个元素中的最小值和最大值
#include <cstdio>#include <cstring>#include <cstdlib>#include <string>#include <iostream>#include <algorithm>#include <sstream>#include <cmath>using namespace std;#include <queue>#include <stack>#include <vector>#include <deque>#define cler(arr, val) memset(arr, val, sizeof(arr))typedef long long LL;const int MAXN = 1002000;const int MAXM = 6000010;const int INF = 0x3f3f3f3f;const int mod = 1000000007;int a[MAXN],q[MAXN];int n,k;void getnum1()//取最小{ int l=1,r=0;//l cler(q,0); q[1]=1; for(int i=1;i<=n;i++) { if(i-q[l]==k) l++; if(a[q[r]]<a[i]||r==l-1)//将第i个放进队尾 q[++r]=i; else//更新队尾的元素 一直到比第i个还要小 { while(r>=l&&a[i]<=a[q[r]]) q[r--]=i; r++; } if(i>=k)printf("%d ",a[q[l]]); } puts("");}void getnum2(){ int l=1,r=0; cler(q,0); q[1]=1; for(int i=1;i<=n;i++) { if(i-q[l]==k) l++; if(a[q[r]]>a[i]||r==l-1) q[++r]=i; else { while(r>=l&&a[i]>=a[q[r]]) q[r--]=i; r++; } if(i>=k)printf("%d ",a[q[l]]); } puts("");}int main(){#ifndef ONLINE_JUDGE freopen("in.txt", "r", stdin); // freopen("out.txt", "w", stdout);#endif while(cin>>n>>k) { for(int i=1;i<=n;i++) scanf("%d",&a[i]); getnum1(); getnum2(); } return 0;}
0 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 (单调队列)
- LeetCode | Remove Duplicates from Sorted List
- 记录1--ubuntu14安装mentohust
- 【机器学习】文本分类——朴素贝叶斯Bayes
- 第十二章之异步查询
- UVA - 10887 Concatenation of Languages
- 【单调队列】POJ 2823 Sliding Window
- 记录3--ubuntu在grub resume里修复引导
- MYSQL UPDATE
- 计算机网络协议第四章,传输层协议
- dojo小例子(27)去除EnhancedGrid Filter插件中的“任何列”选项
- 李玉刚歌曲汇总
- CMake入门(二)
- mysql密码更改
- Activity 的生命周期