当前位置: 首页 > news >正文

斜率优化 DP 学习笔记

简介

前置知识:凸包以及如何求凸包。

考虑线性动态规划的一类转移,可以整理为以下形式:

\[dp_i=\min/\max\{f_1(i)+f_2(j)+g(i) \cdot h(j)\}, j<i \]

其中,\(f_1(i)\) 为仅关于 \(i\) 的某些信息的多项式,\(f_2(j)\) 为仅关于 \(j\) 的某些信息的多项式;\(g(i) \cdot h(j)\) 是两个这样的多项式的乘积。

根据情况的不同,这一类转移可以通过斜率优化进一步优化到 \(O(n \sim n \log^2 n)\) 的复杂度。

例题:P3195 [HNOI2008] 玩具装箱

一句话题意:给定一个长度为 \(n\) 的数列 $c_i $和一个常数 \(L\),要求把该数列划分成若干段,每段 \([l,r]\) 的代价为 \((r-l + \sum_{i=l}^{r} c_i - L)^2\)。求各段划分代价之和的最小值。

预处理 \(c_i\) 的前缀和 \(s_i\),根据题意可以列出转移方程:

\[dp_i = \min_{j<i} \{(i-j-1+s_i-s_j-L)^2+dp_j\} \]

\(S_i = s_i+i\)\(L \gets L+1\),则方程可以化为:

\[\begin{align} dp_i&= \min_{j<i} \{(S_i-S_j-L)^2+dp_j\} \\ &= \min_{j<i}\{(S_j^2+dp_j)+2(S_i-L) \cdot S_j\}+(S_i-L)^2 \end{align}\]

http://www.rkmt.cn/news/193739.html

相关文章:

  • 基于FCM聚类法和LS最小二乘法的T-S模糊模型参数辨识matlab仿真
  • YOLOFuse 百度搜索优化技巧:提高SEO排名吸引更多流量
  • 基于spring的社区医院挂号预约平台[VUE]-计算机毕业设计源码+LW文档
  • 知识库分享业务
  • YOLOFuse javascript FileReader读取本地图像上传
  • YOLOFuse huggingface dataset加载自定义多模态数据
  • YOLOFuse faststone capture 滚动截图长网页操作指南
  • 配置STM32F411CEU6的系统时钟-避免芯片内核锁死
  • 【Linux命令大全】001.文件管理之umask命令(实操篇)
  • YOLOFuse多模态检测优势解析:低光、烟雾场景下的精度突破
  • 全链路压测中的数据隔离:关键策略与实践挑战
  • YOLOFuse markdown表格美化插件推荐
  • 【Linux命令大全】001.文件管理之which命令(实操篇)
  • 让游戏更真实的物理引擎,助力你的VR应用!
  • 云原生应用性能监控与测试一体化实践
  • 每日互动(个推)用户运营便捷的平台助力头部直播APP智能预测用户流失倾向,用户留存提升15%
  • [Windows] 视频剪辑编辑软件中文绿色版ShotCut v25.12.31
  • YOLOFuse是否支持视频流输入?可通过修改infer_dual.py实现
  • RBAC角色权限控制系统:多用户协作场景下的必要配置
  • YOLOFuse网盘直链下载助手推荐:快速分发大体积镜像文件
  • YOLOFuse你尝试预览的文件可能有害?安全提示与信任设置
  • YOLOFuse计费模式透明:按秒计费无隐性消费
  • YOLOFuse支持JavaScript调用吗?Node.js与Python通信方案
  • Linux .ko字符串驱动模块
  • YOLOFuse vs DEYOLO:多模态检测模型性能与资源消耗全面对比
  • YOLOFuse术语表整理:统一技术词汇翻译标准
  • YOLOFuse训练脚本train_dual.py使用说明及参数配置建议
  • YOLOFuse英文文档改进:提升国际影响力的关键一步
  • YOLOFuse豆瓣小组讨论:非技术向用户也能参与
  • Linux .ko字符串驱动模块编写