【YBT2022寒假Day9 A】最小划分(wqs二分)(斜率优化DP)
最小划分
题目链接:YBT2022寒假Day9 A
题目大意
给你一个序列,你要把它划分成 m 个连续的段,以最小化这个东西:
把每一段的数和表示为 w[i],则要最小化每个 (w[i]+p)^2 的和。
思路
首先你发现这个 是没有关系的,你完全可以把它拆开来。
变成 。
( 是前缀和,下同)
首先我们考虑 DP:
为当前第 个数,划分成了 段落。
然后我们考虑能不能斜率优化(看着就很斜率优化)。
显然这里我们可以做 次斜率优化来达到 的复杂度。
(所以下面就不写第二维了,反正都是从 转移到 ,比较的都是 的)
比 优:()
然后我们考虑如何优化掉 的那一维。
那这个时候就有一个神奇的东西叫做 wqs 二分。
就是我们考虑转移的时候加上一个费用 ,这个费用我们二分。
那这个费用是为了干什么呢,可以说是为了“平衡”,使得恰好选到 个段的时候最优。
然后最后我们再减去这个贡献即可,减去 。
然后你会发现斜率优化 DP 的转移没有变。
代码
__EOF__

本文作者:あおいSakura
本文链接:https://www.cnblogs.com/Sakura-TJH/p/YBT2022Day9_A.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/Sakura-TJH/p/YBT2022Day9_A.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现