ACM 网络流

就是给你一个管道图(可以类比许多现实的东西),要你能找到它的最大流量。

那么在这个时候,对于每个管道都有  当前流量f(i)  管道的容量c(i)!

这个时候可以给出一些东西的定义了:

1、残流网络

1)对于给定的一个流网络G及其上的一个流flow,网络G关于流flow的残流网络G*与G有相同的顶点集V,而网络G中的每一条边对应于G*中的1条边或2条边。
2)设(v,w)是G的一条边。
当flow(v,w)>0时,(w,v)是G*中的一条边,该边的容量为cap*(w,v)=flow(v,w);
当flow(v,w)<cap(v,w)时,(v,w)是G*中的一条边,该边的容量为
cap*(v,w)=cap(v,w)-flow(v,w)。
3)按照残流网络的定义,当原网络G中的边(v,w)是一条零流边时,残流网络G*中有唯一的一条边(v,w)与之对应,且该边的容量为cap(v,w)。
4)当原网络G中的边(v,w)是一条饱和边时,残流网络G*中有唯一的一条边(w,v)与之对应,且该边的容量为cap(v,w)。
5)当原网络G中的边(v,w)是一条弱流边时,残流网络G*中有2条边(v,w)和(w,v)与之对应,这2条边的容量分别为cap(v,w) -flow(v,w)和flow(v,w)。
6)残流网络是设计与网络流有关算法的重要工具。

2、增广路:
增广路定义: 在残量网络中的一条从 s 通往 t 路径,其中任意一条弧 (u,v) ,都有 r[u,v]>0
绿色的即为一条增广路。
增广路算法:每次用BFS找一条最短的增广路径,然后沿着这条路径修改流量值(实际修改的是残量网络的边权)。当没有增广路时,算法停止,此时的流就是最大流。

大体的介绍也就这样了,主要还是提供一个初步的介绍   其他的算法大家还是多去看看算法书(有定义有例子)!然后再做一些题目来巩固一下知识吧!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值