转自:http://apps.hi.baidu.com/share/detail/34010558 【单调队列】在解一个序列某个区间段的最值问题,我们可以用到单调队列来解决。 比如poj2823 Sliding Window 就是一个很好的例子:给定一个序列,要求序列中固定长度为k 的区间中的最大值 ...
分类:
其他好文 时间:
2016-07-05 12:06:32
阅读次数:
206
【题目大意】 有一个a*b的整数组成的矩阵,现请你从中找出一个n*n的正方形区域,使得该区域所有数中的最大值和最小值的差最小。 【思路】 裸的二维单调队列。二维单调队列的思路其实很简单: (1)对于每一行维护两个宽度为n的滑动窗口记录单行中的min和max,和POJ2823一个道理。此时相当于把n个 ...
分类:
其他好文 时间:
2016-05-02 00:33:18
阅读次数:
180
Sliding Window Time Limit: 12000MS Memory Limit: 65536K Total Submissions: 50738 Accepted: 14590 Case Time Limit: 5000MS Description An array of size
分类:
其他好文 时间:
2016-02-09 17:42:35
阅读次数:
259
题目链接:http://poj.org/problem?id=2823DescriptionAn array of size n ≤ 106 is given to you. There is a sliding window of size k which is moving from the v...
单调队列经典题之一。【思路】设置两个单调队列分别记录最大值和最小值。对于每一个新读入的数字,进行两次操作(对于求最大值和最小值中的某一个而言),一是若队首不在滑窗范围内则删去;二是删去队末比当前值小(或大)的值,并将当前值插入对尾。每一次的最小(大)值就是当前单调队列的队首。【错误点】一定要写whi...
http://poj.org/problem?id=2823求长度为k的子序列里面的最大值,最小值#include
#include
#include
#include
#include
#define pk push_back
const int INF = 0x3f3f3f3f;
const i...
Description
An array of size n ≤ 106 is given to you. There is a sliding window of size k which is moving from the very left of the array to the very right. You can only see the k numbers in the wi...
POJ2823 http://poj.org/problem?id=2823最基础的单调队列,说是数据结构,其实就是一种更新数组数据的方法。之前还准备用deque,超时了,直接head,tail快得多。一直把删除队首过期元素写在删除队尾之前,就一直WA,尼玛换一下顺序就好了。 1 #include ...
分类:
其他好文 时间:
2015-05-01 11:53:53
阅读次数:
178