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

[THUPC 2024 初赛] 一棵树

[THUPC 2024 初赛] 一棵树 - 洛谷P9962

首先有一个暴力的树形 DP,令 \(dp_{u, i}\) 表示 \(u\) 的子树内有 \(k\) 个黑点的最小权值。

考虑 \(dp_u\)\(dp_v(v \in son_u)\) 合并,那么有 \(dp_{u, i} = \min\{ dp_{v, j} + |k - 2j| + dp_{u, i - j} \}\)

\(f_{v, j} = dp_{v, j} + |k - 2j|\),那么 \(dp_{u, i} = \min\{f_{v, j} + dp_{u, i - j}\}\),很显然是一个闵可夫斯基和的形式(归纳可证 \(f, dp\) 均为下凸函数),于是我们考虑维护 \(dp, f\) 的差分数组 \(\Delta f, \Delta dp\)

考虑 \(\Delta f_v\)\(\Delta dp_v\) 之间的联系,需要分两种情况讨论:

  • \(k\) 是偶数,当 \(i \le \frac{k}{2}\) 时,\(\Delta f_{v, i} = \Delta dp_{v, i} - 2\);否则 \(\Delta f_{v, i} = \Delta dp_{v, i} + 2\)
  • \(k\) 是奇数,当 \(i \le \frac{k - 1}{2}\) 时,\(\Delta f_{v, i} = \Delta dp_{v, i} - 2\);当 \(i = \frac{k + 1}{2}\) \(\Delta f_{v, i} = \Delta dp_{v, i}\);否则 \(\Delta f_{v, i} = \Delta dp_{v, i} + 2\)

总之就是对于一个前缀 \(-2\),一个后缀 \(+2\)

我们可以使用一个堆维护 $i \le \frac{k}{2} $ 的部分,一个 vector 维护剩下的部分(\(i = \frac{k + 1}{2}\) 需要单独考虑),然后打两个 \(tag\) 即可。合并时使用启发式合并即可。(注意加减 \(tag\))如果堆内元素数量 \(> \frac{k}{2}\),把堆顶的丢尽 vector 即可。

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

使用 Minkowski 优化 DP 的一种套路吧。

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

相关文章:

  • 清理linux大文件
  • Unity场景后处理小记 - 实践
  • Ubuntu22.04安装postgresql16.8
  • “comsol煤矿模型仿真合集:瓦斯抽采、采空区耦合性、采场倾斜煤层、注氮灭火与岩石压裂损伤模...
  • 三相异步电动机启保停正反转星三角控制电路及西门子200PLC与MCGS7.7联机程序(带注释和...
  • 黄金票据(Golden Ticket)和白银票据(Silver Ticket)
  • 0x3f第六天 递归思想
  • 云原生安全实战:一次72小时的DDoS攻击,我们是怎么活下来的?
  • HTR3236 36路LED PWM驱动器全方位介绍
  • 如何修复 Element Plus Table 在分页切换时滚动条不更新的问题
  • 水塔液位控制系统实战手记
  • 出国点餐看不懂菜单?别慌!用微信“扫一扫”就能搞定
  • OE 平台是什么?基于多来源数字内容管理需求形成的海外工具型平台
  • 高效缺陷管理的艺术与科学
  • 新的spring boot3.x和spring-security6.x的流程
  • GA-BP多变量时序预测:基于遗传算法优化BP神经网络的Excel格式数据集预测程序
  • 西门子Wincc报表模版大全:多种模板积攒,视频讲解详解,SQL数据库应用实战
  • PMSM永磁同步电机电控设计高手晋级之路:高清视频,深度解析,技术细节一网打尽
  • 从“水往低处流”到“逆流而上”:BFS搜索巧解太平洋大西洋水流问题
  • CPS 信息物理系统:世界模型的基础与人工智能万物互联控制的实现​
  • LobeChat能否实现AI生成季度报告?财务与业务总结自动化
  • 私有部署+全能定制!开源投票系统分享 小程序投票+H5投票二合一
  • Flutter 性能优化实战:从 60fps 到丝滑如原生的 120fps
  • 全新升级!洗车服务行业专属小程序源码,致力于为各类洗车服务商提供最得力的线上助手
  • 全能小微企业报告API接口调用代码流程、接入方法以及应用场景
  • Flutter 国际化(i18n)全指南:一键切换中/英/日多语言
  • java计算机毕业设计手机仓库管理系统 移动端库存智能管理平台的设计与实现 基于手机的仓储作业协同系统开发
  • 永磁同步电机谐波注入与5/7次谐波抑制——基于MATLAB Simulink仿真模型操作教程
  • 降本增效利器!这款洗车小程序源码助您轻松搭建管理平台
  • 基于CNN多变量时间序列预测的MATLAB程序(含清晰注释与测试数据集)