最小总代价 题解

最小总代价 题解

题目

这里

解题方法

这道题目我想得太简单了,以为是最小生成树,其实不是——最小生成树必须是无向图。
那么这题就是状压 d p dp dp了。
f i , j f_{i,j} fi,j表示当前传递的状态是 i i i且现在到了第 j j j个人手里的最小价值,此状态必须满足 i & 2 j ≠ 0 i\&2^j\not=0 i&2j=0
f i , j = min ⁡ k = 1 n f i − 2 j , k + a k , j ( i & 2 k ≠ 0 , j ≠ k ) \begin{aligned}f_{i,j}=\min_{k=1}^{n}{f_{i-2^j,k}+a_{k,j}(i\&{2^k}\not=0,j\not=k)}\end{aligned} fi,j=k=1minnfi2j,k+ak,j(i&2k=0,j=k)
答案为 min ⁡ i = 1 n f 2 n − 1 , i \begin{aligned}\min_{i=1}^{n}{f_{2^n-1,i}}\end{aligned} i=1minnf2n1,i
注:上方的 & \& &符号为按位与,可参考百度百科维基百科

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值