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

最小斯坦纳树

解决一类图上存在 \(\mathcal O(\log)\) 量级关键点,使其连通的最小贡献子图的问题。


首先我们能轻易证明这个子图一定是树,因为断掉环不影响连通性。这棵树就是最小斯坦纳树。

我们不妨考虑状压 dp 求解。\(f_{i,S}\) 表示树根为 \(i\),我们已经在这棵树中连通了 \(S\) 这些关键点,产生的最小贡献。

考虑类似树形 dp 进行转移。我们首先可以合并子树:

\[f_{i,S}\gets \min\limits_{T\subset S} f_{i,T}+f_{i,S\backslash T} \]

其次我们可以转移树根(这里利用了不合法不优,我们不在意新树根是不是关键点):

\[f_{i,S}\gets f_{j,S}+w(j\to i) \]

然后考虑转移顺序。显然对于第一种转移,我们按照 \(S\) 从小到大转移就可以了。然后注意到对于每个 \(S\),第二种转移本质上是对 dp 数组搞了一遍最短路,于是我们拿 dij 把 dp 数组松弛一遍就好了。

这是带边权的写法。点权也是类似的,只有一点很小的细节上的变化。

[ABC395G] Minimum Steiner Tree 2

题意 给定一张完全图,有 $Q$ 个询问 $S,T$。查询包含 $\{i|1\le i\le K\}\cup \{S,T\}$ 的边权和最小斯坦纳树。

保证 \(K+1\le S,T\)

我们考虑状压 \(1\)\(K\) 这一部分的永久关键点,在状态最后带两个非关键点。换句话说,我们设 \(f_{S,i,j,k}\) 表示现在 \(1\)\(K\) 中的关键点连通了 \(S\),树根是 \(i\),存在两个非关键点 \(j,k\) 的最小边权和。

然后你发现我们状态数起飞了。考虑我们是否真的有必要存储根加上两个非关键点。显然,我们可以强行钦定树根是两个非关键点的其中一个,答案仍然会是合法的状态。

于是我们现在已经直接就能做有一个非关键点的问题了(其实和原来的 dp 没有一点区别)。

考虑还有一个关键点怎么办。比较搞笑的是,这里的解决方式是直接暴力:我们直接把所有非关键点一个一个塞进关键点集合,做 \(n\) 次一个非关键点的最小斯坦纳树(也就是本身)把答案预处理出来即可。简单预处理最短路,时间复杂度 \(\mathcal O(n^23^k+n^32^k+q)\),可以通过。

P3264 [JLOI2015] 管道连接

这里终于出现了一点不一样,我们可以不把所有关键点连在一起,只需要把同色的关键点连在一起就好了。

于是考虑简单地增加一条转移就行:当我们的状态里面关键点构成若干个颜色的全集的并,我们可以切换根而不做路径的贡献,因为新的根根本没有必要和目前的子图连通。

P4294 [WC2008] 游览计划

点权最小斯坦纳树,附加输出方案。

由于我的这个手太懒了,我不想写输出方案,所以不写了。

http://www.vanclimg.com/news/252.html

相关文章:

  • 浏览器跨标签页通信
  • 以太坊开发指南:SendTransaction vs CallContract 的区别与错误处理实践 - 若
  • Ntpdate系统时间同步
  • oracle 自增id
  • 接地气的软件开发流程.240618
  • 接地气的代码版本管理流程.240617
  • sersync同步
  • deepseek本地部署硬件资源对比表.250303
  • 【API接口】最新可用手机号归属地查询接口
  • NFS安装配置
  • Git代码分支管理模型TBD++ Flow.240520
  • deepseek-chat和deepseek-reasoner的区别.250305
  • grain和crops的区别
  • 【macOS】Homebrew更换国内镜像源(2025.7更新)
  • 第二十三天
  • SqlSugar的无实体(匿名)插入、更新、删除、查询以及多库和跨库查询 - microsoft
  • Cursor:IT专业人员必备神器,从开发到运维的全能助手.250423
  • 工作要开心:与其挣扎,不如选择自洽.250411
  • CSP-S模拟赛28 比赛总结
  • 校招季人效提升50%:Moka校招系统AI筛选与雇主品牌工具
  • 【2025-07-26】连岳摘抄
  • 迎战DARPA网络挑战赛:Trail of Bits的自动化安全系统征程
  • 企业如何利用MyEMS开源能源管理系统实现节能减排
  • GPUStack v0.7重磅发布:macOS与Windows安装包、昇腾MindIE多机推理、模型使用计量与寒武纪MLU支持
  • IDEA导出数据库对应的实体配置
  • 2025最佳代码托管平台推荐
  • 搜索
  • 服务器docker
  • 一种绕定轴旋转的参照系上的惯性力推导方法
  • 划分点(Vertex)和边(Edge)的属性汇总