问题描述: 若有干个干草, 分别有各自的宽度, 要求将它们按顺序摆放, 并且每层的宽度不大于 它的下面一层 , 求最多叠几层 题解: zkw神牛证明了: 底边最短, 层数最高 证明: 传送门 接下来我们就可以根据这个结论进行dp。 前缀和sum, 以及 F[ i ]第 i 个数之后的干草叠起来后, ...
分类:
其他好文 时间:
2018-08-12 23:42:54
阅读次数:
425
题意:给定一个N点M边的有向图,叫你加最多K条边,使得最小拓扑序最大. 思路:不是那么简单的题. 参照了别人的代码,最后想通了. 贪心原则: 用两个单调队列维护, 第一个序列S1单增, 表示当前入度为0的点 ; 第二个序列S2单减,表示需要加边的点. 如果S1的最大值大于S2的最大值,则对其加边. ...
分类:
其他好文 时间:
2018-08-12 14:04:29
阅读次数:
109
单调队列入门题 P1440 求m区间内的最小值 题目描述 一个含有n项的数列(n<=2000000),求出每一项前的m个数到它这个区间内的最小值。若前面的数不足m项则从第1个数开始,若前面没有数则输出0。 输入输出格式 输入格式: 第一行两个数n,m。 第二行,n个正整数,为所给定的数列。 输出格式 ...
分类:
其他好文 时间:
2018-08-10 23:14:15
阅读次数:
164
http://poj.org/problem?id=2823// 原题链接 题目大意,就是输出每个相邻 (i,i+k+1)区间中的最大值 /// 单调队列练习 1 #include <algorithm> 2 #include <stack> 3 #include <istream> 4 #incl ...
题目链接:https://www.luogu.org/problemnew/show/P2947 因为在单调队列上被dalao们锤爆 怒刷单调队列题 何为单调队列? 设我们的队列为从左至右单调递增 对于样例数据 3 2 6 1 1 2 我们先把3入队 此时队列:3 再将2从后面入队 此时队列:2 3 ...
分类:
其他好文 时间:
2018-08-05 21:29:51
阅读次数:
220
单调队列简介: 单调队列其实就是一个里面元素都单调的 双端队列 。就是这样的一个东西,我们却可以用来解决这样的问题:如果我们有一个数组$ A $,对于任意的 $ i $ , 求其中 $ i $ 满足 $ 1 \le i \le n m+1 $ 中 $ A_i \sim A_{i+m 1} $ 中的最 ...
分类:
其他好文 时间:
2018-08-04 23:20:49
阅读次数:
244
题意: 思路: 倒着来是因为这样可以维护每一个当过最大值的数,而正着不行 ...
分类:
其他好文 时间:
2018-08-04 22:31:37
阅读次数:
176
单调队列就是维护一个队列,使得该队列从队首到队尾成单调递增或是单调递减。 做法就是每向队列里加入一个元素就判断该元素是不是比队尾元素大(以递减序列为例),是的话就将队尾元素出列,直到该元素比队尾元素小,然后将该元素放置队尾。 这么久了一直不明白单调队列的实现,现在看来,原来这么简单。。。。。 单调栈 ...
分类:
其他好文 时间:
2018-08-04 22:25:21
阅读次数:
161
主要介绍关于动态规划的优化方案,具体包括单调队列优化,斜率优化,四边形不等式,线段树等数据结构优化。 ...
分类:
其他好文 时间:
2018-08-04 18:58:16
阅读次数:
206
单调队列,顾名思义就是一个具有单调性的一个队列,可是该怎么实现呢。 用普通的队列肯定不能实现,因此我们需要用到里一个数据结构——双端队列,这个也比较容易理解,就是两头都可以进和出队的操作。 然后我们就可以进行愉快的写单调队列了。 单调队列与优先队列还不一样,优先队列只要你不主要删除,他是不会删的,但 ...
分类:
其他好文 时间:
2018-08-03 22:34:35
阅读次数:
145