最小生成树的拓展

爱⌒轻易说出口 提交于 2020-02-07 06:46:44

最小生成树的拓展

本文会随着弟弟我的学习进度来进行更新

度限制最小生成树

  1. 最小度生成树:np-hard
  2. 最小k度限制生成树:经典问题

做法(以下皆假设固定的点为rt):

  1. 删除rt点,并用剩下的点建一个最小生成树森林
  2. 如果有p个联通块,要满足最小k度限制生成树必须有p<=kp<=k。对于每个联通块,找出与rt相连的最小的一条边。这样就用了一个度数为p的解法
  3. 考虑如何从p转移到p+1。
    假设
    fa[v]为v的父亲,
    mx[v]为从rt到v路径上不与rt直接相连的边的最大值,
    w[u][v]为v与u的边的权值
    mx[v]=max(mx[fa[v]],w[v][fa[v]])mx[v]=max(mx[fa[v]],w[v][fa[v]])
    那么p+1的解法就有ans[p+1]=ans[p]+min{mx[v]+w[v][rt]}ans[p+1]=ans[p]+min\{-mx[v]+w[v][rt]\}

例题:poj-1639

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!