UVALive - 5095 Transportation(拆边+费用流)

题意:有n个点,m条边,每条边的容量为ci,费用为ai* x^2(x为流量,ai为所给系数) 
现在问能否将k个单位的货物从点1运输到点n,且费用最小。

分析:首先要知道一个结论(1+3+...+(2n-1)=n^2),然后拆边,将每条边拆成ci条边,每条边的费用分别为ai * 1, ai * 3, ai * 5…容量都为1,在容量相同的情况下,会选择费用少的流,这样流过的边累加起来的费用刚好为 ai * 流量^2。建图如下。

总结:

代码:待补。

 

猜你喜欢

转载自blog.csdn.net/tianwei0822/article/details/92799441