有上下界的网络流问题

写在前面

有上下界的网络流即对边的流量有限制,必须在的范围内。

其实普通的网络流也是一种特殊的有上下界的网络流,只是每条边的流量限制为。

分类

有上下界的网络流分为两种:

有源汇 所有点都要求满足流量平衡

无源汇 除了源点汇点都要满足流量平衡(源点只有流出,汇点只有流入)

无源汇可行流

我们可以想到为了满足流量的下限。

但是我们求出这个图的最大流之后,加上下限,会使得某些点不满足流量平衡。

这该怎么解决呢?

我们可以建立附加源和附加汇,来补充和吸收这些流量。

具体来说就是:

from 《图论原理 胡伯涛》

因此,对于一条边u->v,我们在新图中连三条边:

对于这个图求最大流,然后判断最大流是否等于,如果等于就是可行流,否则没有可行流。

例题 SGU 194

*注:由于是无源汇的,所以并没有最大流最小流之说。

有源汇可行流

我们连一条t->s,流量限制为的边,有源汇就变成了无源汇,像上面一样求解即可。

例题 POJ 2396最小流

<法一> 好理解,时间复杂度较高。

<法二> 较难理解,时间复杂度低。

感性的来理解,第一步中求最大流,,所有能流的边都“竭尽全力”的流完了; 第二步再求最大流的时候,t->s上的流量就会尽可能的小(即s->t的流量尽可能小)

例题 SGU 176

例题 BZOJ 1458最大流

<法一> 与最小流中的二分法类似,只是变成了可行就调高下限。

<法二>

欢迎指正错误~

这个社会是存在不公平的,不要抱怨,因为没有用!人总是在反省中进步的!

有上下界的网络流问题

相关文章:

你感兴趣的文章:

标签云: