【c++提高1】最大流(超详细图解)

大纲

1.流网络&最大流
2.Edmonds-Karp算法求解
3.Dinic算法求解
4.最大流求二分图匹配

1.流网络&最大流

流网络简介

流网络G(V, E)是一个有向图,图中每条边(u, v)∈E都有一个非负权值c(u, v) ,称为边的容量。并
且,如果边集E包含一条边(u, v),则图中不存在反方向的边(v, u)。如果(u, v)∉ E,则c(u, v) = 0。
在流网络的所有节点中,有两个特殊节点:源点S和汇点T。

流网络示例:
在这里插入图片描述
设G(V, E)是一个流网络,其容量函数为c,设S为网络的源点,T为网络的汇点。G中的流是一个实数函数f(u, v) (u∈V && v属于V)且满足以下性质:

① 容量限制:对于任意节点u, v∈V,要求:0 ≤ f(u, v) ≤ c(u, v)。
② 流量守恒:对于任意节点u∈V - {S,
T},要求:所有x∈Vf(x, u) = 所有y∈Vf(y, u)
③ 斜对称:f(u, v) = - f(v, u)

实例

例如下图的网络流量为5(流量/容量)。

在这里插入图片描述

对于一个给定的网络,合法的流函数f有很多,其中使得整个网络的流量最大的流函数被称为网络的最大流,此时的流量被称为网络的最大流量。

例如:下图的流网络的最大流量为6(流量/容量)。
在这里插入图片描述
概念:

残留网络(残量网络):任意时刻,网络中所有节点以及剩余容量大于0的边构成的子图称为残留网络。

初始化:基于原始网络建立残存网络,初始化时残留网络和原网络一致。在这里插入图片描述

暴力求
  • 11
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

{∞}

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值