随笔分类 - 单调队列
摘要:"Luogu P1714" 题目的大意就是给定一个长度为n的序列,求出这个序列中长度不超过m的子串的最大和 很容易想出的一个解法就是枚举起点终点,直接暴力扫一遍得出答案。 当然也很容易发现这种做法肯定会TLE。 也有一个很容易想到的优化方法——利用前缀和。 但是我们会发现即便如此,还是会TLE。 也
阅读全文
摘要:最大子序列和(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。 【输入格式
阅读全文
摘要:Luogu P1090 【解题思路】 刚看到这题的时候,第一反应就是每次取两个最小,然后重新排序,再取最小。但是这样会TLE。 既然找最小的,那就可以利用单调队列了。显然输入的数据是不具有单调性的,但是可以排一次序,使之具有单调性。 这题需要两个队列,一个队列用于存储最先给出的堆,另一个队列用于存储
阅读全文
摘要:POJ 2823 Luogu P1886 【解题思路】 这是一个单调队列算法的经典题目,几乎学习单调队列的人都接触过这题。 利用单调队列算法求出每一个固定区间内的最(大/小)值。 以下以最大值为例: 将要进队的值如果比队尾大,那么意味着进队值比队尾的值更优,那么 从尾部继续向前寻找,如果还是比前面的
阅读全文

浙公网安备 33010602011771号