算法学习:斯坦纳树

本文介绍了斯坦纳树的概念,它是一种组合优化问题,允许添加额外节点以构造最小开销的连通网络。文章详细讲解了求解斯坦纳树的状压DP方法,包括两重DP的状态定义和SPFA优化,并提供了典型问题的时间复杂度分析。引例分析了一个实际的斯坦纳树问题,指出在某些情况下,不连通的点可以不被考虑。
摘要由CSDN通过智能技术生成

算法学习:斯坦纳树

引例

bzoj4774: 修路

定义

斯坦纳树问题是组合优化问题,与最小生成树相似,是最短网络的一种。最小生成树是在给定的点集和边中寻求最短网络使所有点连通。而最小斯坦纳树允许在给定点外增加额外的点,使生成的最短网络开销最小。——百度百科

求解

斯坦纳树是一个NP问题,当斯坦纳树中的点很少的时候可以采用状压DP解决。
1. f[s][i] f [ s ] [ i ] 表示连通状态为s,以i为根的最小代价
2. g[s] g [ s ] 表示连通状态为s的最小代价

两重Dp
首先求解f,枚举子集得到 f[s][i]=minin{ f[t][

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值