POJ 2823 Sliding Window 【单调队列】
2020-12-13 03:13
标签:acm c++ poj 数据结构 队列 题目链接:http://poj.org/problem?id=2823 题目大意:给出一组数,一个固定大小的窗口在这个数组上滑动,要求出每次滑动该窗口内的最大值和最小值。 这就是典型的单调队列,单调队列的作用就在此。单调队列的队首为区间内的最值,但是整个队列不用保持单调。 用两个队列分别处理最大值和最小值,在此说明一下最大值; 往队列中添加值num时,从队尾开始扫,直到遇到一个小于num的d值,将num插入d的后一位。之后的元素全部无效化(不管后面的元素就行)。查找最大值的时候,从队首开始找,如果该元素没在此时的区间的话,查找下一个,直到找到满足条件的第一个元素,这个元素便是最值。 求最小值和最大值大同小异,只需要将添加值num的条件改一下即可。 代码如下:
POJ 2823 Sliding Window 【单调队列】,搜素材,soscw.com POJ 2823 Sliding Window 【单调队列】 标签:acm c++ poj 数据结构 队列 原文地址:http://blog.csdn.net/u013912596/article/details/32710319#include
文章标题:POJ 2823 Sliding Window 【单调队列】
文章链接:http://soscw.com/essay/27250.html