最小斯坦纳树初探

本文介绍了斯坦纳树问题,它是组合优化问题的一部分,探讨了最小斯坦纳树的概念及其与最小生成树的关系。文章提供了一种在数据范围内使用动态规划求解的方法,并给出两种转移状态的公式。此外,还列举了几个相关的练习题目,如bzoj2595和bzoj4006,分别涉及点权和与同种频道的最小斯坦纳树问题。
摘要由CSDN通过智能技术生成

问题描述

斯坦纳树问题是组合优化学科中的一个问题。将指定点集合中的所有点连通,且边权总和最小的生成树称为最小斯坦纳树(Minimal Steiner Tree),其实最小生成树是最小斯坦纳树的一种特殊情况。而斯坦纳树可以理解为使得指定集合中的点连通的树,但不一定最小。(by Angel_Kitty

解决方案

似乎没有多项式算法。在数据范围允许时可使用dp来解。具体地,设\(F[i,s]\)为根在点\(i\),树中包含的指定集合点的集合为\(s​\)时的最优解。两种转移
\[ f[i,s]=\min_{t\subset s} f[i,t]+f[i',s-t]+e[i',i]\\ f[i,s]=\min f[i',s]+e[i',i] \]

显然第二种转移需要迭代/最短路算法。由于存在第二种转移,假设转移时能保证\(f[*,t]​\)已经被处理好,第一种转移转移可以进一步简化为
\[ f[i,s]=\min_{t\subset s} f[i,t]+f[i,s-t] \]
这样做就大功告成了。

练习题

bzoj2595 [WC2008]游览计划

最小化点权和,大致相同,设\(F[i,j,s]\)为根在点\((i,j)\),指定集合状态为\(s\)的最小点权和,转移有
\[ f[i,j,s]=\min f[i',j',s]+c[i,j]\\ f[i,j,s]=\min_{t\subset s} f[i,j,t]+f[i',j's-t]=\min

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值