![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
单调队列
Mys_C_K
人生有许多道:曾经踏足的是道,即将踏往的也是道,那什么才是道呢?唯有脚下走的才是道。一切精神或者物质都归于虚无,然后从混沌中衍生出三万道。在悲喜间涉足一条无数前人经历过,且将有无数后人奔赴的道,无论是否已经或者将要到达彼岸,然后便不再回头或是左顾右盼,即使有些道繁盛至极,夜灯如昼,无数人一浪又一浪的涌去,造就了世人皆知的辉煌;即使有些道草木凋敝,荒草丛生,只等勇敢的开拓者斩开荆棘,创造一片天地;这些都无所关,无所在意,彼岸何如、来日何方甚至过往旧事都化作一缕云烟,飘渺碧霄,我自撷高山之月色,独随足落处往行。
展开
-
[HNOI2008]玩具装箱-DP斜率优化-单调队列-学习笔记
luogu P3195 https://www.luogu.org/problem/show?pid=3195BZOJ 1010 http://www.lydsy.com/JudgeOnline/problem.php?id=1010状态转移方程是显然的:f[i]=min{f[j]+(i-j-1+s[i]-s[j]-L)^2},0这是一个1D/1D的DP问题。不优化的话是O(n^2)的原创 2017-01-06 21:15:22 · 1132 阅读 · 0 评论 -
codevs P4645 修理草坪-DP优化-单调队列
在一年前赢得了小镇的最佳草坪比赛后,FJ变得很懒,再也没有修剪过草坪。现在,新一轮的最佳草坪比赛又开始了,FJ希望能够再次夺冠。然而,FJ的草坪非常脏乱,因此,FJ只能够让他的奶牛来完成这项工作。FJ有N(1 奶牛i的效率为E_i(0 靠近的奶牛们很熟悉,因此,如果FJ安排超过K只连续的奶牛,那么,这些奶牛就会罢工去开派对:)。因此,现在FJ需要你的帮助,计算FJ可原创 2017-01-18 15:22:27 · 507 阅读 · 0 评论 -
[HAOI2007]理想正方形-单调队列学习笔记
单调队列是一种限制条件比较多但是在某些问题上应用有意想不到的效果的数据结构。这种数据结构的核心思想也是减少不必要的比较。考虑luoguP1886 右转进入原题这个滑动窗口。以最大值为例,当一个窗口中的元素右边有一个比它更大的元素(也在窗口中),那么(当它右边的元素进入窗口中之后)无论何时这个元素都不能成为最大值。那我们就可以把它删除。入队实现起来就是这样的,如果队不空且要入队的元素比队原创 2017-01-18 13:58:38 · 654 阅读 · 0 评论 -
[CTSC2012] bzoj 2806 Cheat - 广义SAM - 单调队列优化dp - 二分
首先用广义SAM求出每个询问串以每个位置结尾的最长匹配长度,然后二分答案然后dp即可。注意到转移区间显然单调所以单调队列即可。#include<iostream>#include<cstring>#include<cstdio>#include<algorithm>#include<queue>#define SIG 2...原创 2018-08-02 15:39:35 · 246 阅读 · 0 评论 -
ARC 072 F - 单调队列
题目大意: 有个水库,最多能存L单位水,一开始是空的,对于n天,每天早上有v[i]单位的,水温为t[i]的水流进来。每天晚上你可以放掉一些水,多少自定。但是必须保证第二天水库不会溢出。现在问,对于每个i,在使用最优放水策略的情况下,第i天水库是满的情况下最高水温(i之间互相独立)。混合后的温度计算就和混合溶液浓度一样计算。 n<=1e5,其他数1e9范围内 。题解:改用金属的密度、体积和质...原创 2018-09-20 16:34:21 · 214 阅读 · 0 评论 -
bzoj 4182 shopping - 树dp - 点分治
考虑一个O(n2m)O(n^2m)O(n2m)的暴力,枚举一个点当根,然后按照dfs序的最后一次访问为阶段做dp,那么每个点要么其子树完全不选(等价于之考虑了Lvis[x]-1),要么就直接在Rvis[x]-1上选x(把x得子树合并起来)。用点分治优化上述过程即可。实际上也可以用dsu on tree做,常数更小。点分治:#include&lt;iostream&gt;#include&lt...原创 2018-09-20 16:59:28 · 255 阅读 · 0 评论 -
选举 - 线段树 -单调队列 - dp
题目大意:给定序列a,满足ai∈{−1,0,1}a_i\in\{-1,0,1\}ai∈{−1,0,1};定义w(l,r)=sgn(∑i=lrai)w(l,r)=sgn(\sum_{i=l}^r a_i)w(l,r)=sgn(∑i=lrai),其中sgn为符号函数。将a划分成若干长度在[l,r]之间的段,使得每一段的权值之和最大。n≤106n\le10^6n≤106题解:写了个nlgn得...原创 2018-10-10 16:16:14 · 144 阅读 · 0 评论 -
见面会EX - dp - 斜率优化 - 单调队列
题目大意:参考这篇blog,但是数据范围是1e7。题解:这题居然有线性做法是真的秀……就是这个题不能直接线性的原因是斜率优化没办法支持删除信息,因此需要用分治/线段树等来去掉删除。然后有一个黑科技:考虑将序列划分为若干段,使得不存在一个转移区间同时和至少三个段有交。划分方法是,由于转移区间端点是不降的,因此就是从左端点开始能向右就向右,可以发现这样划分是正确的。这样有什么好处呢?会发现...原创 2019-04-09 11:06:44 · 284 阅读 · 0 评论 -
电梯 - dp - 单调队列
题目大意:总之就是有个dp[n]=mini=0n−1max{dp,p[i]}+maxj=i+1nt[j]\text{dp}[n]=\min_{i=0}^{n-1} \max \{\text{dp},\text p[i]\}+\max_{j=i+1}^{n}\text t[j]dp[n]=mini=0n−1max{dp,p[i]}+maxj=i+1nt[j]的dp,要做到线性求dp[n]\...原创 2019-05-02 20:33:08 · 475 阅读 · 0 评论