单调队列&单调栈
disPlayLzy_
梦在前方,路在脚下
展开
-
洛谷 P1440 求m区间内的最小值
题目大意:一个含有n项的数列,求出每一项前的m个数到它这个区间内的最小值。若前面的数不足m项则从第1个数开始,若前面没有数则输出0。m≤n≤2000000题解:这题就是一道单调队列的模板, 不过每次到第i个时求的是[i-m,i-1]的最小值,所以不要到i,然后就套单调队列。 单调队列不会的可以去看一下我的另一篇博文。 http://blog.csdn.net/gx_man_vip/articl原创 2017-11-20 21:13:35 · 308 阅读 · 0 评论 -
Bzoj P4721 [Noip2016]蚯蚓___单调队列
题目大意: 分析: 考虑维护三个队列a1,a2,a3, a1装原来的蚯蚓, a2装被分成两半的蚯蚓中小的一部分,a3装大的一部分(p<12\frac{1}{2}21),否则反之 我们发现一个先被切的蚯蚓分成的蚯蚓一定比一个后切的蚯蚓分成的蚯蚓要大(大部分和小部分分别对比) 设先切的蚯蚓长度是aaa,当前切的蚯蚓长度是bbb,它们间隔了xxx的时间,即切了aaa过了xxx时间切完bbb,...原创 2019-06-19 22:12:29 · 212 阅读 · 0 评论 -
Jzoj P5905 黑暗之魂___环套树+动态规划+单调队列
#include &amp;amp;lt;algorithm&amp;amp;gt; #include &amp;amp;lt;iostream&amp;amp;gt; #include &amp;amp;lt;cstring&amp;amp;gt; #include &amp;amp;lt;cstdio&amp;amp;gt; #include &amp;原创 2018-10-16 17:23:18 · 197 阅读 · 0 评论 -
Jzoj P4260 最大子矩阵___单调栈
题目大意: 我们将矩阵AAA中位于第iii行第jjj列的元素记作A[i,j]A[i,j]A[i,j]。 一个矩阵AAA是酷的仅当它满足下面的条件: A[1,1]+A[r,s]&amp;lt;=A[1,s]+A[r,1](r,s&amp;gt;1)A[1,1]+A[r,s]&amp;lt;=A[1,s]+A[r,1](r,s&amp;gt;1)A[1,1]+A[r,s]1) 其中rrr为矩阵AAA的行数,sss为矩阵AA...原创 2018-07-11 21:10:07 · 227 阅读 · 0 评论 -
Poj P2559 Largest Rectangle in a Histogram___单调栈
题目大意 有宽度为N,高度不一的一个矩形并集的图形,给出它的NNN个高度HiHiH_i,问其中最大的矩形面积是多少。 1<=n<=1000001<=n<=1000001 0<=hi<=10000000000<=hi<=10000000000 O(N)O(N)O(N)的实现对最大面积的查找。 因为对于这些矩形的并集中,存在的矩形的最大面积, 必...原创 2018-06-28 11:27:39 · 170 阅读 · 0 评论 -
Bzoj P1007 [HNOI2008]水平可见直线___单调栈+思维
题目大意:给出n条直线,表示成y=Ax+B的形式,且n条直线两两不重合.求出所有可见的直线。|A|,|B|<=500000分析:这题在图上画一下可以发现一个很显然的做法, 对于当前一条斜率最大跟一条斜率次大的直线的交点为[x,y],如果我们加入一条斜率比这两条都大的,且与次大的直线的交点为[x1,y1], 那么当x1 <= x 时,当前斜率最大的直线就会被覆盖基于这么一个思想,我们将斜率排序以后原创 2018-05-09 16:25:25 · 197 阅读 · 0 评论 -
SSL P2152 琪露诺___dp+单调队列
题目大意: 在幻想乡,琪露诺是以笨蛋闻名的冰之妖精。一天琪露诺决定到河岸去追青蛙。小河是一列依次编号为0到N的格子,琪露诺只能从编号小的格子移动到编号大的格子。当她在格子i时,她只能走格子[i+L..i+R]中的格子。每一个格子都有一个冰冻指数A[i],编号为0的格子冰冻指数为0。走到一格就可以得到一格的冰冻指数A[i]。琪露诺希望能够在到达对岸时,获取最大的冰冻指数,琪露诺在编号0的格子上,只原创 2018-01-17 21:28:57 · 570 阅读 · 0 评论 -
【BOI2012】Mobile___思维+单调队列
题目大意: 著名的手机网络运营商Totalphone 修建了N个基站收发台,以用于把信号网络覆盖一条新建的高速公路,因为Totalphone 的程序员总是很马虎的,所以,基站的传功功率不能独立设置,只能将所有新基站的功率设置为一个相同的值。为了让能源的消耗尽量少,给出N个基站的坐标[xi,yi]公司希望知道公路中任意点到最近基站距离的最大值。 高速公路是一条从(0,0) 到(L,0) 的直线线原创 2018-02-01 14:23:08 · 378 阅读 · 0 评论 -
NOIP 2017 普及组 跳房子 jump
题解:这题因为答案是有已知范围[0..xn],所以我们能够去二分答案ans,这个都能想到吧… 时间复杂度:O(log2 xn) 然后我们发现对于每个答案ans’能否满足,我们就可以打个简单的dp, f[i]表示起点0到第i个位置能得到的最大分数. f[i]=max{f[j]}+si j满足max{1,d-ans’}<=xi-xj<=d+ans’ 时间复杂度:O(N^2) 当发现有fi≥原创 2017-12-07 16:52:29 · 1683 阅读 · 0 评论 -
洛谷 P1886 滑动窗口
题目大意:现在有一堆数字共N个数字(N<=10^6),以及一个大小为k的窗口。现在这个从左边开始向右滑动,每次滑动一个单位,求出每次滑动后窗口中的最大值和最小值。 50%的数据,n<=10^5 100%的数据,n<=10^6题解:这题是我学了单调队列做的第一题。 发现单调队列其实挺简单的。 这题是给出一个N长度的序列a1,a2,a3….an-1,an, 让你求出任意一段区间例 [1..k原创 2017-11-16 18:34:45 · 893 阅读 · 0 评论 -
SSL P1337 矩形统计___单调栈
题目大意: N ≤ 1000 分析: 对于每一行而言, 我们以这一行为底边,固定底边然后向上伸, ai表示iii列能向上伸多少(直到出界或者碰到障碍) 然后我们考虑这一行的贡献, 为了避免重复,我们对于这些ai,只统计他们能拥有的矩形中,有边长与底边相交的矩形 然后统计的时候就是可以维护单调栈做,具体看代码 代码: #include <iostream> #include <c...原创 2019-08-06 20:19:42 · 198 阅读 · 0 评论