网络流——最大网络流(仅思路无模板)

百度百科:
网络流(network-flows)是一种类比水流的解决问题方法,与线性规划密切相关。网络流的理论和应用在不断发展,出现了具有增益的流、多终端流、多商品流以及网络流的分解与合成等新课题。网络流的应用已遍及通讯、运输、电力、工程规划、任务分派、设备更新以及计算机辅助设计等众多领域。

eg:求1——5的最大网络流
在这里插入图片描述
普遍思路是将两节点权重比作管道粗细,水流在管道中最大只能是填满。

个人思路:
将两节点权重比作多个单位粗细管道的数量,将一个平面图三维化,在每一层保证水流的绝对流动。
即变成考虑最多分为几层,每层的流量多少,最后求所有符合层的流量和。
现在考虑
(1)分为几层:S——T能到达即为1层。(BFS搜索)
(2)每层流量:从路径中最多分离 多少 个单位粗细管道。(查找最小值)
(3)后续操作:将多个单位粗细管道在原图中进行分离,回(1)(更新图)
思路完毕。

问题处理:
在这里插入图片描述现在考虑加入反向边,目的:对已经确定的层进行更正修改。
当引入反向边后,其第一层确定后又可以得到1-3-2-4,
从算法角度看是构建了一个 存在不可能流向 的层,不符合正常逻辑。
但是对 新增的层 和 非最优解层 一起考虑,则可以等价为将这两个层优化后的等价。
即将 1-2-3-4层 和 1-3-2-4层 等价成 1-2-4层 和 1-3-4层
(推广到全部情况可能是 多个层 优化一个 非最优解层 )

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值