随笔分类 -  动态规划----斜率优化DP

摘要:SDOI2017 苹果树 题意: [题目传送门][1] 题解: 好神仙的题啊…… 考虑如果没有题目中的$t h \leq k$的限制,那么这道题目就是树上依赖多重背包,复杂度为$O(nk^2)$,然后用单调队列优化就可以达到$O(nk)$,这个是比较好做的。然后我们考虑如何处理题目中给出的限制,实际 阅读全文
posted @ 2019-03-14 18:23 Apocrypha 阅读(359) 评论(0) 推荐(0)
摘要:[TOC] codeforces 797F Mice and Holes [题目传送门1][1] 题意 有$n$个老鼠,每个老鼠原来在$xi$的位置上,有$m$个洞,每个洞分别在$pi$的位置上,一共可以容纳$ci$只老鼠,问所有的老鼠都跑进洞里,最小的跑动距离总和是多少。如果无解,则输出 1。$( 阅读全文
posted @ 2018-09-02 11:32 Apocrypha 阅读(341) 评论(0) 推荐(1)
摘要:[TOC] BZOJ3156 防御准备 [题目传送门][1] 题解 这道$Dp$题目也算是比较清真了吧,看到数据范围其实就差不多可以知道是个斜率优化$Dp$了。我们比较容易地可以写出转移方程:$dp[i]=max(dp[j]+\sum_{k=j+1}^{i 1}(i k))+a[i] \Righta 阅读全文
posted @ 2018-08-10 08:54 Apocrypha 阅读(131) 评论(0) 推荐(0)
摘要:[TOC] BZOJ1597 土地购买 [题目传送门][1] 题解 还是一道经典的斜率优化$Dp$,我们先将土地按长度升序排序,然后在这个排序中找出一个长度$a$升序,长度$b$降序的序列(因为如果$b$在某一处是升序的话,那么前面的一部分土地就没有必要买了)。之后就很容易写出转移方程: $dp[i 阅读全文
posted @ 2018-08-07 08:52 Apocrypha 阅读(50) 评论(0) 推荐(0)
摘要:[TOC] BZOJ1096 仓库建设 [题目传送门][1] 题解 也是一道比较经典的斜率优化$Dp$,很容易推出DP转移方程: $dp[i]=min(dp[j]+cost(i,j))+c[i]$ 重点就是怎么快速的算出cost(i,j)。我们把cost的计算公式写出来: $cost(i,j)=\s 阅读全文
posted @ 2018-08-07 08:26 Apocrypha 阅读(176) 评论(0) 推荐(1)
摘要:[TOC] BZOJ1911 特别行动队 [题目传送门][1] 题解 典型的斜率优化$Dp$。首先如果我们记$sum[i]$表示前$i$个士兵的战斗力之和,那么我们比较容易的可以得出$O(n^2)$的$Dp$:$f[i]=max(f[j]+a (sum[i] sum[j])^2+b (sum[i] 阅读全文
posted @ 2018-08-06 22:12 Apocrypha 阅读(136) 评论(0) 推荐(0)
摘要:[TOC] 前言 最近刷BZOJ的题目的时候,发现做到了很多题目都是用到了斜率优化,这个优化很早也接触过,但也没有仔细地去学。最近认真的去学了一下,就在这里做个整理 概要 斜率优化是基于单调队列或单调栈的一种优化DP的方式,当DP的决策具有单调性的时候,我们就可以通过维护单调队列或者单调栈来维护这个 阅读全文
posted @ 2018-08-06 15:16 Apocrypha 阅读(285) 评论(0) 推荐(0)