所有默认有上下界。html
理论知识:spa
1.无源汇 可行流。htm
首先要把下界流满,因此咱们伪装它满流了。blog
添加超级源汇ss,ttget
若是一个点有流进来的下界,而新图中并无,咱们就人为从ss给它流一些进来。im
反之就人为流一些出去给tt。co
最后跑最大流,看你人为建的边是否满流,便可断定是否有解。time
2.无源汇 最大/最小流。new
这个都不知道怎么定义...见鬼去吧。ps
3.无源汇 最大/最小费用流。
这个却是好定义,然而仍是不会...你也跟着见鬼吧。
4.有源汇 最大/最小流
首先从t向s连INF,变成无源汇。
得出一组解以后删去ss,tt。此时t->s边上的流量就是图中流量。
而后再求s->t / t->s的最大流。
注意t->s的INF边,在最小流中需删去,答案加上以前t->s边上的流量。
在最大流中保留,求出来的直接是最终答案,不须要加上以前的流量(这部分在t->s的反向边中增广了)。
5.有源汇 最大/最小费用可行流。
t->s连INF,变成无源汇。
直接求最大/最小费用流即为答案。具体来讲,仍是用ss和tt处理下界,而后删掉ss,tt,t->s以后跑普通费用流。两次费用叠加。