
单调队列
ylsoi
这个作者很懒,什么都没留下…
展开
-
[poj3017]Cut the Sequence——单调队列优化DP
题目大意:给定一个长度为n的序列和整数m,求一个划分使得每一段的和不大于m且每一段的最大值的和最小。思路:设dp[i]为前i个的最小和,方程显而易见: dp[i]=min(dp[j]+max(a[j+1]...a[i]))dp[i]=min(dp[j]+max(a[j+1]...a[i]))dp[i]=min(dp[j]+\max(a[j+1]...a[i])) 朴素的时间复杂...原创 2018-05-06 16:37:09 · 232 阅读 · 0 评论 -
[hdu3401]trade——单调队列优化DP
题目大意:知道之后n天的股票买卖价格(api,bpi),以及每天股票买卖数量上限(asi,bsi),问他最多能赚多少钱。开始时有无限本金,要求任两次交易需要间隔W天以上,即第i天交易,第i+w+1天才能再交易。同时他任意时刻最多只能拥有maxp的股票。思路:dp方程很好想,一开始想出来是四次方的,但是发现不用枚举上一天是哪一天,因为交易只和今天有关,后面的状态肯定包括前面等待天数不买的...原创 2018-05-07 20:43:04 · 272 阅读 · 0 评论 -
[codevs5429]多重背包——单调队列优化多重背包
题目大意:你有一个容量为M的背包,和N种物品。 每种物品都有三个属性,vi,wi,与ci,分别表示这种物品的体积、价值和件数。 你的任务是,从这些所给物品中,选出若干件,其体积之和不能超过背包容量,并且使所选物品的权值的和最大。思路:朴素的方法当然是先枚举物品再枚举体积最后再枚举个数,但是这样的时间复杂度太高,接受不了,所以可以考虑用单调队列优化DP。发现单调队列维护的区间一定...原创 2018-05-08 13:09:09 · 558 阅读 · 0 评论 -
[bzoj1010][HNOI2008]玩具装箱toy——斜率优化+单调队列
题面:蒟蒻的第一道斜率优化题目。 P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京。他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器中。P教授有编号为1…N的N件玩具,第i件玩具经过压缩后变成一维长度为Ci.为了方便整理,P教授要求在一个一维容器中的玩具编号是连续的。同时如果一个一维容器中有多个玩具,那么两件玩具之间要加入一个单位长度的填充...原创 2018-09-11 13:52:04 · 205 阅读 · 0 评论