最小割
Posted ryedii-blog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最小割相关的知识,希望对你有一定的参考价值。
令 (G=(V,E)) 是一个网络,有源点 (s) 和 汇点 (t)。
定义一个割 (C=(S,T)) 是 (V) 的一种划分使得 (sin S,tin T),(C) 的割集 (A) 是集合 ({(u,v)in E:uin S,vin T}),割的大小 (cut=sum_{ein A}f_e)。
定义最小割为割的大小最小的割,最小割不唯一。
存在最大流 = 最小割。
以下下标 (_{min}) 表示最小割。
- 定义 (igcup A_{min}) 中的弧称为可行弧,(igcap A_{min}) 中的弧称为必须弧。
任意割集
- 跑最大流,在残量网络上从 (s) 开始 bfs 所能到达的点属于 (S)。
可行弧
- 若残量网络上,不存在有向路径 ((u,v)),则 ((u,v)) 为可行弧。
考虑将 ((u,v)) 割掉,原本的増广路 ((s,u,v,t)) 替换 ((u,v)) 段,仍是可行流。
必须弧
- 若残量网络上,同时存在路径 ((s,u)) 和 ((v,t)),则 ((u,v)) 为必须弧。
先考虑 ((u,v)) 满流,强制此弧不割,若此时最小割的大小变大,则是必须弧。可以将其流量设为 (+infty),判断是否出现新的増广路。由于新的増广路一定经过 ((u,v)),所以只需要考虑残量网络上是否存在路径 ((s,u)) 和 ((v,t)) 即可。
非满流的弧显然不是必须弧,且一定不满足条件。
以上是关于最小割的主要内容,如果未能解决你的问题,请参考以下文章