写在前面
有上下界的网络流即对边的流量有限制,必须在的范围内。
其实普通的网络流也是一种特殊的有上下界的网络流,只是每条边的流量限制为。
分类
有上下界的网络流分为两种:
有源汇 所有点都要求满足流量平衡
无源汇 除了源点汇点都要满足流量平衡(源点只有流出,汇点只有流入)
无源汇可行流
我们可以想到为了满足流量的下限。
但是我们求出这个图的最大流之后,加上下限,会使得某些点不满足流量平衡。
这该怎么解决呢?
我们可以建立附加源和附加汇,来补充和吸收这些流量。
具体来说就是:
from 《图论原理 胡伯涛》
因此,对于一条边u->v,我们在新图中连三条边:
对于这个图求最大流,然后判断最大流是否等于,如果等于就是可行流,否则没有可行流。
例题 SGU 194
*注:由于是无源汇的,所以并没有最大流最小流之说。
有源汇可行流
我们连一条t->s,流量限制为的边,有源汇就变成了无源汇,像上面一样求解即可。
例题 POJ 2396最小流
<法一> 好理解,时间复杂度较高。
<法二> 较难理解,时间复杂度低。
感性的来理解,第一步中求最大流,,所有能流的边都“竭尽全力”的流完了; 第二步再求最大流的时候,t->s上的流量就会尽可能的小(即s->t的流量尽可能小)
例题 SGU 176
例题 BZOJ 1458最大流
<法一> 与最小流中的二分法类似,只是变成了可行就调高下限。
<法二>
欢迎指正错误~
这个社会是存在不公平的,不要抱怨,因为没有用!人总是在反省中进步的!