poj 3686(拆点+最小权匹配)

题目链接:http://poj.org/problem?id=3686

思路:显然工件为X集,机器为Y集合。由于每个机器一次只能加工一个部件,因此我们可以将一台机器拆成N个点,至于部件与机器之间连多大的边权呢?假设N个部件都是有某台机器先后完成的,设加工每个部件的时间分别为t1,t2,t3,...,tn,那么总时间为t1*n+t2*(n-1)+t3*(n-2)+...+tn.于是我们可以对于X中的i,Y中的原机器j对应的拆点后的点(p-1)*i+j(其中1<=p<=n)连边p*k.然后就是KM求最小权匹配了。

http://paste.ubuntu.com/5950854/

原文地址:https://www.cnblogs.com/wally/p/3238921.html