决策单调性 单调队列和斜率优化是属于决策单调性的一种。而决策单调性是满足四边形不等式的前提下,满足i+1-n的转移点大于等于i的决策点。而基本实现方式是整体二分或者维护双端队列并且在双端队列上二分查找。 1.基于1D/1D的DP优化 一般来说,1D/1D的DP都能通过优化,在O(nlogn)的时间复 ...
分类:
其他好文 时间:
2018-06-24 23:58:23
阅读次数:
523
D - Travel Card 思路:dp,类似于单调队列优化。 其实可以写的更简单。。。 ...
分类:
其他好文 时间:
2018-06-24 19:28:04
阅读次数:
196
题目大意: 给定一个长度为N的序列,请你求出它最大长度不超过M的最大子序列的和(其中 N,M<=3*10^5) 分析: 一般对于这样的题目,我们最现实想到的就是前缀和,通过枚举序列可以得到答案,但这样的时间复杂度显然是不乐观的(TLE) 所以我们可以通过队列来优化 (这个算法我们称之为单调队列算法) ...
分类:
编程语言 时间:
2018-06-21 22:25:54
阅读次数:
479
题目 分析 听说是水题,但还是没想出来。 $ dp[i] $为$ [1,i] $的需要的喷头数量。 那么$ dp[i]=min(dp[j])+1 $其中$ j<i $ 这是个$ O(n^2)$的东西,用单调队列优化一下就行了 复杂度$ O(L) $ 代码 #include <bits/stdc++. ...
分类:
其他好文 时间:
2018-06-18 11:00:43
阅读次数:
202
题目大意 有一个直方图,其所有矩形的底均是1(以后简称小矩形)。给出这些矩形的高度,求这些矩形的并集中存在的面积最大的矩形(简称大矩形)的面积。 题解 大矩形的高必然一边等于一个小矩形的高,另一边小于等于另一个小矩形的高。 我们现考虑面积最大矩形左边高等于其所在小矩形的高的情况,则其右边高小于等于其 ...
分类:
其他好文 时间:
2018-06-14 23:59:13
阅读次数:
295
斜率优化 1.概念 对于某些转移方程形如$DP[i] = min / max(DP[j] + f(j))$的DP来说,我们可以使用单调队列将其由$O(n^{2})$优化为$O(n)$。但对于一些转移方程形如$DP[i] = min / max(DP[j] + f(i , j))$的DP来说,因为转移 ...
分类:
其他好文 时间:
2018-06-09 19:01:11
阅读次数:
173
【A:暴力】 【B:模拟】 【C:数位DP入门题】 【D:单调队列】 ...
分类:
其他好文 时间:
2018-06-07 14:29:39
阅读次数:
189
何为单调队列? 单调队列是一个队列(废话) 而且必须同时满足下标单调和值单调两个单调特性。 跟优先队列不同,优先队列直接使用堆(heap)来实现,如何删去特定下标元素?不明。 本人喜欢用单调队列存下标,这样比存值不知道高到哪里去了。 新来一个元素,进队。之后特判长度有没有超过。超过则把最前面的元素出 ...
分类:
其他好文 时间:
2018-05-29 14:02:52
阅读次数:
155
作为一只蒟蒻,我只会写c和d了 c:前缀和 d:有点像单调队列的东西 c: https://beta.atcoder.jp/contests/arc098/tasks/arc098_a 题目大意: 有N个人站在一排从西向东。每个人都面向东方或西方。 给你一条字符串S。 如果Si='E',从西数第i个 ...
分类:
其他好文 时间:
2018-05-26 22:18:57
阅读次数:
296
题意:n个数 把他们放进一些盒子里 每个盒子最少放k个数 且最小和最大的差不能大于d 题解:显然排个序 对于当前点 存一下前面有哪些节点可以当作结尾 那么就可以枚举这些点的下一个点作为起点能否和当前点组成合法区间 找到的第一个大小不超过d的点显然是最优的 这样会使区间尽可能大于k 如果找到了这个点就 ...
分类:
其他好文 时间:
2018-05-23 10:26:44
阅读次数:
237