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

洛谷 P11459

洛谷 P11459

标签 分治,Minkowski

\(cost(r)\) 表示将 \(s_{r - l + 1 \sim r}\) 变成哞叫的代价。有一个显然的 DP,令 \(dp_{i, j}\) 表示前 \(i\) 个字符形成 \(j\) 个哞叫的最小代价。那么 \(dp_{i, j} = \min(dp_{i, j}, dp_{i - L, j - 1} + cost(i))\),可能可以使用 slope trick 进行优化,但比较复杂。

遇到不会的时候,可以想想想分治。显然跨过分治中心 \(mid\) 的哞叫至多一个,所以可以设计出一个 DP,设 \(dp_{l, r, i, j, c}\) 表示对于区间 \([l, r]\),最左边的 \(i\) 个和最右边的 \(j\) 个不考虑的情况下的凑出 \(c\) 个哞叫的最小代价。

设左半部分的 DP 数组为 \(L\),右半边是 \(R\) 那么 \(dp_{l, r, i, j, c} = \min\limits_{x = 0}^{c} \{\min(L_{i, 0, x} + R_{j, c - x}, \min\limits_{l = 1}^{L - 1} \{ L_{i, L - l, x} + R_{l, j, c - x - 1} + cost(mid + l) \}) \}\)

表示没有跨国中间的哞叫,跨过中间的哞叫为右端点为 \(mid + l\)

这个是一个闵可夫斯基和的形式,也就是两个数组的归并的结果,然后对 \(dp_{l, r, i, j ,x}\) 进行贡献。只需要证明凸性即可。

证明可以从开头讲的那个 DP 出发,归纳的证明。相当于是两个上凸函数每个位置取 min 后的结果,也是一个上凸函数。感性的理解,就是需要的哞叫越多,单次的花费越大。(比较符合直觉。)

时间复杂度:\(O(L^3n \log n)\)

算是一个套路把,对于要求选出 \(k\) 个的题,可以分治后转成 \(k = i + j\) 的形式,然后使用闵可夫斯基和优化,需证明凸性/打表。

http://www.jsqmd.com/news/120406/

相关文章:

  • [闲话]竹篮打水,不空
  • 【课程设计/毕业设计】基于Springboot的智能物流管理系统基于springboot的校园智能物流管理系统的设计与实现【附源码、数据库、万字文档】
  • U9C采购退货单-无来源的实现
  • Intellij IDEA 自动导包设置 - 努力-
  • zerotier旧网址
  • 2025年度儿童羽绒服选购指南:这些口碑品牌闭眼入 - 品牌测评鉴赏家
  • Java计算机毕设之基于Spring Boot的智慧物流系统的设计与实现基于springboot的校园智能物流管理系统的设计与实现(完整前后端代码+说明文档+LW,调试定制等)
  • 用 .NET MAUI 10 + VS Copilot 从 0 开发一个签到 App(九)签到历史报表 + Excel 导出
  • 2025年童装羽绒服十大品牌盘点:宝妈选购指南与口碑单品解析 - 品牌测评鉴赏家
  • 【LangChain4J】聊天数据持久化——Redis
  • 宝妈必看|0-16岁童装羽绒服品牌全攻略,从保暖到颜值一次搞定 - 品牌测评鉴赏家
  • 环境搭建-运行前端工程(Nginx) - 努力-
  • Ant Design 色板生成算法演进之路
  • AI 领域职业发展分享总结(吴恩达新课内容分享)
  • 2025年童装羽绒服大揭秘!这十款温暖又时尚 - 品牌测评鉴赏家
  • 用 .NET MAUI 10 + VS Copilot 从 0 开发一个签到 App (十) 完结篇
  • Windows 10版本 - 努力-
  • 滑动窗口|209. 长度最小的子数组|713. 乘积小于 K 的子数组|3. 无重复字符的最长子串
  • C++20和C++23 在内存管理、并发控制和类型安全相关优化方式的详细技术分析
  • Java毕设项目推荐-基于springboot电子招投标系统基于springboot的在线招标系统的设计与实现【附源码+文档,调试定制服务】
  • 0-16岁童装羽绒服选购攻略:2025宝妈必看的品牌指南 - 品牌测评鉴赏家
  • windows clion 更新 MinGW 的工具链
  • 现代cpp在传统内存分配上的改进
  • Java毕设项目推荐-基于springboot小区团购管理设计与实现基于springboot的社区团购系统的设计与实现【附源码+文档,调试定制服务】
  • 2025年高性价比童装品牌推荐清单:宝妈闭眼入的口碑之选 - 品牌测评鉴赏家
  • JavaScript现代语法梳理:ES6+核心特性详解 - 教程
  • 2025年12月青少年羽绒服大揭秘!这些品牌闭眼入 - 品牌测评鉴赏家
  • Java毕设项目推荐-基于springboot的物业报修系统的设计与实现业主报修、物业派单、维修跟进、耗材管理、评价反馈于一体的数字化平台【附源码+文档,调试定制服务】
  • 强化学习之DQN游戏训练
  • 宝妈必藏!小童童装品牌实力排名出炉,安全舒适又时髦 - 品牌测评鉴赏家