首页 > 代码库 > 【有上下界网络流】【ZOJ】2314 Reactor Cooling

【有上下界网络流】【ZOJ】2314 Reactor Cooling

【算法】有上下界网络流-无源汇(循环流)

【题解】

无源汇网络流相当于重建图后跑最大流。

循环流要求每个点(或边)的流入量和流出量相等。

http://www.cnblogs.com/liu-runda/p/6262832.html

http://hzwer.com/3356.html

入度>出度时(in[x]>0)时,需要流出去,所以从源向点引一条边,引诱它流出去。

入度<出度时(in[x]<0)时,需要流进来,所以从点向汇引一条边,引诱它流进来。

为何这样正确?源和汇的作用只是引诱,让入度多的点流向出度多的点,最终实现流量平衡。

由于源汇连出来容量相同,所以最终满流就实现了流量平衡,此时源汇就可以无视了。

加边时记录每个点入度和出度。

建虚边。

检验源点出去的边是否满流。

【有上下界网络流】【ZOJ】2314 Reactor Cooling