题目链接:点击查看
题目大意:给出n个工人和n个工作,每个人做每一个工作的效率都是不同的,问如何分配能让效率最低/最高
题目分析:最小费用最大流和最大费用最大流的模板题,直接套模板跑答案就行了,没有任何细节需要注意,就是两个模板组合在一起时会有很多函数的功能都是相同的,确切来说修改一下spfa的内部实现然后复制一份一模一样的就好了,一开始可以先把题目给出的效率矩阵储存下来,在跑费用流之前重新建边就好了,不然在跑完第一次费用流后的图已经变为残余网络了,需要重新建边再跑一遍费用流就好了
感觉这个题毕竟是二分图最大权匹配,用KM跑应该能更快一些吧
代码:
费用流:40ms
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
KM:27ms
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include