Gomory-Hu Tree

以下分析约定:

符号 含义
valSval_S SS 是边集,那么 c(S)c(S) 就是其边权和
cutu,v={U,VU}cut_{u,v}=\{U,V-U\} 分割 u,vu,v 的最小割,其中 uU,vVUu\in U, v\in V-U
edgeUedge_U 对于一个割 U,VUU,V-U,其为割下的所有边,即 {(u,v):uU,vVU}\{(u,v):u\in U,v\in V-U\}
mincutu,vmincut_{u,v} (u,v)(u,v) 的最小割(权值最小)
minvalu,vminval_{u,v} =val(mincut(u,v))=val(mincut(u,v))

最小割树 T=(V,ET)T=(V,E_T) 是这样一种树,对于所有的边 (s,t)ET(s,t)\in E_T,从树上去掉这两条边之后剩下的两个连通块 S,TS,T,恰好就是 s,ts,t 的最小割 mincuts,tmincut_{s,t}


代码实现

Code
1
// pass

例题