hdu4085(斯坦纳树)

题意:

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

分析:

  

  可以用状压dp解决

  

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

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

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

  注意此题有重边

 

posted @ 2018-01-22 18:08  Chellyutaha  阅读(193)  评论(0编辑  收藏  举报