最小割树(Gomory-Hu Tree)

当我们遇到这样的问题:

给定一个 \(n\) 个点 \(m\) 条边的无向连通图,多次询问两点之间的最小割

我们通常要用到最小割树。

博客

建树

分治。记录当前点集,然后随便找俩点当 \(s\)\(t\),跑一遍最小割,然后在“最小割树”上把 \(s\)\(t\) 连边,并且根据“属于s的点”还是“属于t的点”将当前点集分为两部分,直到当前点集大小为1为止。

性质

  • 最小割树上的边 \((u, v)\),其权值为原图中 \(u\)\(v\) 的最小割,断开最小割树上的 \((u, v)\),分成的两个连通块分别是原图中跑完最小割后“属于 \(u\) 的点”和“属于 \(v\) 的点”。

  • 原图中 \(u\)\(v\) 的最小割等于最小割树上 \(u\)\(v\) 的最小边权。

容易感性理解。具体证明见:博客

例题

受实力限制,我只做过一些比较水的最小割树的题。最小割树还需深刻理解。

posted @ 2020-07-08 18:27  JiaZP  阅读(220)  评论(0编辑  收藏  举报