zoukankan      html  css  js  c++  java
  • hdu4085(斯坦纳树)

    题意:

      给你n,m,k ,分别表示有n个点,m条边,每条边有一个权值,表示修复这条边需要的代价,从前k个点中任取一个使其和后k个点中的某一个点,通过边连接,并且必须是一一对应,问最小的代价是多少。

    分析:

      

      可以用状压dp解决

      

      就是如果dp的转移中出现环,就可以用最短路去完成它

      对于此题,最后答案可能是一个森林,所以只跑出斯坦纳树的dp是不够的,之后还要跑一个状压dp

      dp[s]=min(dp[t]+dp[s-t]) 其中s和t都必须是合法状态,合法状态指的是状态中前k个关键点与后k个关键点数目相同(因为要一一对应)

      注意此题有重边

  • 相关阅读:
    个人所得税避税的10种方法
    营业税
    融资租赁
    会计等式
    公司公积金
    fixed语句
    自由之路
    $or操作符
    $in 操作符
    Redis 字典的实现
  • 原文地址:https://www.cnblogs.com/wmrv587/p/8330416.html
Copyright © 2011-2022 走看看