网络流学习笔记#2:最小费用最大流和最小割树

本文介绍了在网络流中如何求解最小费用最大流问题,使用SPFA算法寻找最小费用增广路,并探讨了最小割树的概念,证明了最小割树上任意两点间的边权等于这两点之间的最小割。此外,讨论了最小割的性质和如何通过n次最小割求得全图任意两点的最小割。
摘要由CSDN通过智能技术生成

文接网络流学习笔记#1:最大流和最小割

约定

c o s t ( u , v ) cost(u,v) cost(u,v) 表示 u u u v v v 的费用

费用流

定义

在一个流网络中,有源点和汇点 s , t s,t s,t,每条边都有一个容量和 , s s s 有无限的流量流向 t t t,在满足流量最大的前提下使得费用最小。

解法

这种情况下,找增广路不再可以找到答案,为什么呢?因为费用不一定最小,那怎么办?使用 SPFA!(为什么?有负权边呢) (也就是最小费用增广路)

114514年后的update:现在看自己当时真的是太naive了。。没想到居然有人看我的文章,本来都是写来自娱自乐的[捂脸]。

就经验而言,大多数题目不会考察选手对网络流算法的本质理解,所以这里只给出费用流的实现流程,并不严格证明:

首先对于原流网络的一条边 ( u , v , w , c ) (u,v,w,c) (u,v,w,c),建出 ( u , v , w , c ) (u,v,w,c) (u,v,w,c) ( v , u , 0 , − c ) (v,u,0,-c) (v,u,0,c),每次从源点 s s s 出发找一条费用最小的可行流(说人话,就是最短路上的每条边的流量都大于 0 0 0),然后使其满流(说人话,就是最短路上所

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值