
单调队列
苟岂
任何一个伟大的目标,都有一个微不足道的开始。——洛谷新手村
展开
-
【集训Day2 哈希表】【NHOI2015】【Luogu P2421】差
LuoguP2421 原题来自NHOI2015 【解题思路】 本题的解题方法有三种,一种为枚举减数,二分查找被减数。第二种为利用数据单调性用尺取法进行查找,第三种为运用哈希表以快速查找数据。 【解题反思】一题可能有多种解法,尝试选择自己最擅长的。【参考程序】#include<iostream>#include<cstdio>using namespace std;int n原创 2017-08-16 10:54:21 · 627 阅读 · 1 评论 -
【Luogu P1090】合并果子
Luogu P1090 【解题思路】 刚看到这题的时候,第一反应就是每次取两个最小,然后重新排序,再取最小。但是这样会TLE。 既然找最小的,那就可以利用单调队列了。显然输入的数据是不具有单调性的,但是可以排一次序,使之具有单调性。 这题需要两个队列,一个队列用于存储最先给出的堆,另一个队列用于存储合并后的堆。 值得一提的是,后面合并出来的堆,一定比前面合并出来的要大。 也就是说队列的单原创 2017-08-13 09:57:58 · 483 阅读 · 0 评论 -
【POJ 2823】【Luogu P1886】Sliding Window 滑动窗口
POJ 2823 Luogu P1886 【解题思路】 这是一个单调队列算法的经典题目,几乎学习单调队列的人都接触过这题。 利用单调队列算法求出每一个固定区间内的最(大/小)值。 以下以最大值为例: 将要进队的值如果比队尾大,那么意味着进队值比队尾的值更优,那么 从尾部继续向前寻找,如果还是比前面的更优,那么就一直寻找。直到符合条件或者队列为空为止原创 2017-08-12 23:09:53 · 336 阅读 · 0 评论 -
【集训Day3 单调队列】【2018寒假集训Day 5更新】最大子序列和
最大子序列和(maxsum) 【问题描述】 输入一个长度为n的整数序列(A1,A2,……,An),从中找出一段连续的长度不超过M的子序列,使得这个序列的和最大。 例如: 序列 1, -3, 5, 1, -2, 3 当M=2或3时,S=5+1=6;当M=4时,S=5+1+(-2)+3=7。 【输入格式】 输入文件第一行一个整数n表示序列的长度,第二行n个整数,代表序原创 2017-08-19 19:58:48 · 403 阅读 · 0 评论