题意:有N个供应商,M个店主,K种物品。每个供应商对每种物品的的供应量已知,每个店主对每种物品的需求量的已知,从不同的供应商运送不同的货物到不同的店主手上需要不同的花费,又已知从供应商Mj送第kind种货物的单位数量到店主Ni手上所需的单位花费。
问:供应是否满足需求?如果满足,最小运费是多少?
供求?花费? 看到这就想到了最小费用最大流,就直接建了一个图交了。。。Time Limit Exceeded
然后才意识到自己的图有点大。。。N*K+M*K个点、N*K*M*K条边。。。
然后又仔细看K个矩阵的时候,意识到这是要拆开来做,多源多汇的题。。。Orz
重新建图
对于每一个k
1、sp到供应商流量为k的供应量,花费为0
2、供应商到店主流量为inf,花费为对应花费
3、店主到tp流量为需求量,花费为0
求出最小费用最大流 全部加起来即为所求 判断一下最大流==需求量 相等即为满足
这样的话点数仅为N + M 边N * M
还是太弱了啊Orz
链接:poj 2516
#include
#include
#include
#include
#include
#include
#include
#include