单调队列
Nowed
把泪水种在心上,一定会开出勇敢的花。
展开
-
[lUOGU1440] 求m区间内的最小值
题目https://www.luogu.org/problemnew/show/P1440求出每一项前的m个数到它这个区间内的最小值解题思路 单调队列的模板题。在第一个的时候,肯定是输出“0”的,然后可以调用双端队列{deque}容器,注意每次压进去的是“编号”,而不是数字。然后每次让这个容器的数量维护在m以内代码#include<cstdio>...原创 2018-06-20 18:27:33 · 315 阅读 · 0 评论 -
[poj 1821] Fence {单调队列优化dp}
题目http://poj.org/problem?id=1821解题思路先把所有工匠按照SiS_{i}Si排序,这样,每个工匠粉刷的木板一定在上一个工匠粉刷的木板之后。设F[i,j]F[i,j]F[i,j]表示安排前iii个工匠粉刷前jjj块木板,工匠们能获得的最多报酬:F[i,j]=F[i−1,j]F[i,j]=F[i-1,j]F[i,j]=F[i−1,j]F[i,j]=F[i...原创 2018-12-05 17:47:43 · 180 阅读 · 0 评论 -
[ch 5501]环路运输{单调队列,环形结构动态规划}
题目http://contest-hunter.org:83/contest/0x50%E3%80%8C%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92%E3%80%8D%E4%BE%8B%E9%A2%98/5501%20%E7%8E%AF%E8%B7%AF%E8%BF%90%E8%BE%93解题思路 我们可以在任意位置把环断开,复制一倍接在末尾,形...原创 2018-08-21 08:53:34 · 490 阅读 · 0 评论 -
[luogu 2776][SDOI2007]小组队列 {单调队列}
题目https://www.luogu.org/problemnew/show/P2776解题思路思路参考Team Queue 我们可以建立一个队列a[0]a[0]存储队伍中所有小组的编号,再为每个小组ii建立一个a[i]a[i]存储队伍中这个小组的所有成员。 当一个编号为X,组号为YY的人来队伍时,我们直接把X插入a[y]a[y]的末尾。如果在插入之前a[y]...原创 2018-08-16 12:08:13 · 250 阅读 · 0 评论 -
[poj 2373] Dividing the Path {单调队列+动态规划}
题目http://poj.org/problem?id=2373解题思路转载至代码#include&amp;lt;cstdio&amp;gt;#include&amp;lt;cstring&amp;gt;#include&amp;lt;deque&amp;gt;using namespace std; deque&amp;lt;int&amp原创 2018-08-15 17:08:34 · 205 阅读 · 0 评论 -
[joyoi/tyvj 1305]最大子序和{单调队列}
题目http://www.joyoi.cn/problem/tyvj-1305解题思路 计算“区间和”的问题,一般转化为“两个前缀和相减”的形式进行求解。我们先求出s[i]s[i]s[i]表示序列里前i项的和,则连续子序列[L,R][L,R][L,R]中数的和就等于s[R]−s[L−1]s[R]−s[L−1]s[R]-s[L-1]。所以原问题可以转化为:找出两个位置x,yx,y...原创 2018-08-15 14:52:07 · 238 阅读 · 0 评论 -
[luogu 1886] 滑动窗口 {单调队列}
题目https://www.luogu.org/problemnew/show/P1886结题思路和 扫描 差不多的题目,都是询问一段区间内的最大最小值(比线段树和树状数组的效率高),可以用单调队列维护一个区间,当队列长度超过范围时,就弹出队头。注意清空队列!!代码#include<cstdio>#include<deque>using ...原创 2018-07-30 11:40:51 · 197 阅读 · 0 评论 -
[jzoj 2032] 扫描 {单调队列}
题目https://www.luogu.org/problemnew/show/P2032———-解题思路裸的单调队列,用一个双端队列来维护序列,如果单调队列的长度大于k了,就逐渐删掉队头。代码#include<cstdio>#include<deque>using namespace std; deque<int>que; in...原创 2018-07-15 21:20:54 · 200 阅读 · 0 评论 -
[jzoj 1264][ luogu 2866][USACO06NOV]糟糕的一天Bad Hair Day {单调栈/双端队列}
题目 农民John的某 N 头奶牛 (1 <= N <= 80,000) 正在过乱头发节!由于每头牛都意识到自己凌乱不堪的发型,FJ 希望统计出能够看到其他牛的头发的牛的数量。每一头牛 i有一个高度 h[i] (1 <= h[i] <= 1,000,000,000)而且面向东方排成一排(在我们的图中是向右)。因此,第i头牛可以看到她前面的那些牛的头,(即i+1, i+2...原创 2018-07-18 21:46:14 · 200 阅读 · 0 评论 -
[luogu 3957] [2017 普及组]跳房子 {单调队列优化dp}
题目https://www.luogu.org/problemnew/show/P3957解题思路我们可以先二分答案。然后,设f[i]f[i]f[i]表示到第i个时的最优解,方程易得f[i]=max{f[i],f[j]+a[i]}f[i]=\max \left \{ f[i],f[j]+a[i] \right\}f[i]=max{f[i],f[j]+a[i]}但是对于f[j]f[j]...原创 2019-03-31 13:26:03 · 214 阅读 · 0 评论