DP 优化 学习笔记
0 参考资料#
-
算法竞赛进阶指南 —— LYD
-
XMOJ 倾情讲解 —— BYD
1 斜率优化#
1.1 斜率优化简介#
如果一类最优化问题的 dp 式可以被表示为 ,则它一般可以被斜率优化直接优化。
这里我们就以最小值为例。
1.2 决策点策略#
假设我们要计算 。
我们考虑计算当决策点 时, 比 优秀的条件。
将式子进行化简,得:
继续化简:
这时,我们设 ,则:
把式子整理得好看一点:
后面的式子是一个斜率的形式,所以我们把他称之为 斜率优化。
1.3 维护决策点#
和 都有序。
于是有两个结论。
结论 1:若当前 比 优,则之后 一定也比 优。
结论 2:相邻决策之间的斜率单调增。
证明较为简单。
可以直接维护单调队列。
有序。
结论 1 不存在了,但是还有结论 2!
需要在凸壳上二分。
有序。
需要使用平衡树等维护凸壳。
其他情况。
需要 动态凸壳 / 李超线段树。
1.4 斜率优化总结#
斜率优化
1.5 经典题目#
I. P3195 [HNOI2008]玩具装箱#
作者:DE_aemmprty
出处:https://www.cnblogs.com/aemmprty/p/18124994
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库