Loading

最大流转最小割

最大流转最小割

对于最大流最小割定理,一般情况下都是从最小割转为最大流,而有一类题目却需要把最大流转为最小割,利用最小割的性质求解。这时需要用到割与最小割的定义:

\[\begin{aligned} F(S)&=\sum_{u\in S}\sum_{v\in U\setminus S}e(u,v)\\ G(S,T)&=\min_{S\subseteq S',T\subseteq U\setminus S'}F(S') \end{aligned} \]

CF903G Yet Another Maxflow Problem - 洛谷

本题中 \(G(S,T)=\min_{i=1}^n\min_{j=0}^{n-1}A_iB_jE(i,j)\),其中 \(E(i,j)\) 表示 A 的 \(1\sim i\) 与 B 的 \(j+1\sim n\) 的连边权值和,用扫描线+线段树解决。

P9545 [湖北省选模拟 2023] 环山危路 / road - 洛谷

本题中,由于是竞赛图,有 \(F(S)+F(U\setminus S)=|S|\times (|U|-|S|)\)\(F(S)-F(U\setminus S)=\sum_{u\in S}out_u-in_u\),后者是因为处在 \(S\) 内部的边,恰好分别出现在 \(out\)\(in\) 的贡献中,抵消了。

\(d_u=out_u-in_u\) 得到 \(F(S)=\dfrac 12(|S|\times (|U|-|S|)+\sum_{u\in S}d_u)\),所以 \(G(S,t)=\dfrac 12\min_{S\subseteq S',t\in U\setminus S'}(|S|\times (|U|-|S|)+\sum_{u\in S}d_u)\),显然,在 \(|S|\) 一定时,\(d_u\) 越小越好,我们从小到大加入 \(d\) 即可,复杂度 \(\mathcal O(nm)\)

posted @ 2025-11-20 17:28  lupengheyyds  阅读(8)  评论(0)    收藏  举报