题目地址:POJ 2195
本人职业生涯费用流第一发!决定在邀请赛前多学点东西,起码能够会做简单的,然后最大流费用流最小割一起刷。以前费用流在我心目中一直是高大上的形象,高不可攀,以为会比isap的写法还麻烦,但是这两天才发现就是一个spfa而已。。可明明比最大流多了个元素。。。仔细想了想费用流的原理,这样的确就可以了。。。不过感觉建图更麻烦了,因为比最大流还多了一个元素。
这题是一道入门题,(虽然还需要处理。。)建图方法是将人与源点相连,流量1,费用0,将房子与汇点相连,流量1,费用0.刚开始不明白这里的流到底是干嘛用的,后来想到是用来限制流量的,每个人和房子都只能一次。
然后然后再将人与房子相连,流量1,费用为步数。最后求最小费用流。
代码如下:
#include
#include
#include
#include
#include
#include
#include
#include