Gomory-Hu Tree \text{Gomory-Hu Tree} Gomory-Hu Tree 最小割树
参考了16年国集论文中的
《浅谈无向图最小割的一些算法及应用》 — 绍兴市第一中学 王文涛
定义
每条边 ( u , v ) (u,v) (u,v)两边的点集表示一个 ( u , v ) (u,v) (u,v)的最小割。
重要定理
对
(
s
,
t
)
(s,t)
(s,t)的一个最小割
C
u
t
(
W
,
V
−
W
)
Cut(W,V-W)
Cut(W,V−W),有
∀
u
,
v
∈
W
,
∃
X
⊆
W
,
C
u
t
(
X
,
V
−
X
)
=
c
u
t
(
u
,
v
)
\large \forall u,v\in W,\exist X\subseteq W,Cut(X,V-X)=cut(u,v)
∀u,v∈W,∃X⊆W,Cut(X,V−X)=cut(u,v)
-
引理:设 f ( S ) = C u t ( S , V − S ) f(S)=Cut(S,V-S) f(S)=Cut(S,V−S),则函数满足
f ( A ) + f ( B ) ≥ f ( A ∩ B ) + f ( A ∪ B ) f ( A ) + f ( B ) ≥ f ( A \ B ) + f ( B \ A ) \large f(A)+f(B)\geq f(A\cap B)+f(A\cup B)\\ \large f(A)+f(B)\geq f(A\backslash B)+f(B\backslash A) f(A)+f(B)≥f(A∩B)+f(A∪B)f(A)+f(B)≥f(A\B)+f(B\A) -
证明
不妨设 s , u ∈ X s,u\in X s,u∈X 。
讨论一下,
当 t ∉ X \large t\notin X t∈/X ,
f ( X ∩ W ) ≥ f ( X ) , f ( X ∪ W ) ≥ f ( W ) ⇒ f ( X ∩ W ) = f ( X ) , f ( X ∪ W ) = f ( W ) \large f(X\cap W)\geq f(X), \large f(X\cup W)\geq f(W)\\ \large \Rightarrow \large f(X\cap W)= f(X), \large f(X\cup W)= f(W) f(X∩W)≥f(X),f(X∪W)≥f(W)⇒f(X∩W)=f(X),f(X∪W)=f(W)
这里 X ∩ W ⊆ W X\cap W \subseteq W X∩W⊆W 且是满足条件的割。若 t ∈ X \large t\in X t∈X,
f ( X \ W ) ≥ f ( W ) , f ( W \ X ) ≥ f ( X ) ⇒ f ( X \ W ) = f ( W ) , f ( W \ X ) = f ( X ) \large f(X\backslash W)\geq f(W),f(W\backslash X)\geq f(X)\\ \large \Rightarrow f(X\backslash W)= f(W),f(W\backslash X)= f(X) f(X\W)≥f(W),f(W\X)≥f(X)⇒f(X\W)=f(W),f(W\X)=f(X)
这里 W \ X ⊆ W W\backslash X \subseteq W W\X⊆W 且是满足条件的割。
做法
随机选两点求最小割,在树上连接两点,把图分为两个点集,递归处理。可以得到一棵树。 O ( n 3 m ) O(n^3m) O(n3m) — dinic / ISAP。
性质
树上两点的最小割=两点路径上所有边中的最小割
-
引理
λ ( a , c ) ≥ min ( λ ( a , b ) , λ ( b , c ) ) \lambda(a,c)\geq \min(\lambda(a,b),\lambda(b,c)) λ(a,c)≥min(λ(a,b),λ(b,c))
⇒ λ ( a 1 , a n ) ≥ min λ ( a i , a i + 1 ) , i = 1 … n − 1 \Rightarrow \lambda(a_1,a_n)\geq \min \lambda(a_i,a_{i+1}),i=1\dots n-1 ⇒λ(a1,an)≥minλ(ai,ai+1),i=1…n−1