本文主要是介绍POJ 2823 Sliding Window滑窗,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
金典的单调队列的题目。
题目大意给你n个数和一个k(0 < k ,n < 10^6),一个长度为k的窗口在长度为为n的序列滑动,没滑动一个位置,求出这个窗口里的最小值和最大值,先输出最小值得序列,再输出最大值的序列。
n很大不能在每一个窗口中去遍历出最小值跟最大值,这里用到一个单调队列。此处只做出最小值得序列求解,最大值序列同理。
用一个单调非严格递增的队列去维护此时最小值。
<pre name="code" class="cpp">
#include <cstdio>
#define MAXN 1000007
int arr[MAXN];
int que[MAXN * 10];
int read()//快速读入
{char ch;int v = 0, s = 1;while(ch = getchar(), ch == ' ' || ch == '\n' || ch == '\t');if(ch == '-') s = -1;else v = ch - '0';while(ch = getchar(), ch !&
这篇关于POJ 2823 Sliding Window滑窗的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!