题目链接:http://newoj.acmclub.cn/problems/2053
只要能想到用最小费用最大流去做,建图还是相对好想的:左边n个点表示n根蜡烛,右边n*m个点(或者m个点但是每个点有n条边连汇点,二者是等价的),然后源点连左边n个点之间cost为0容量为1,表示每个蜡烛最多被用一次,然后从左边到右边i到ai所有的n个分点连容量为1 cost为2*k-1的边,最后右边每个点跟汇点连容量为1 cost为0的边,最后跑最小费用最大流即可。
平方费用处理的话也不难毕竟看过lrj书上的处理平方费用的方法。。。这种平方费用的话可以拆点也可以拆边,但是思路都是新弄出来的边cost都是当流量从i到i+1的时候的增量,也就是i^2-(i-1)^2,因为这个差值是随着i增大而增大的,所以最大流增加的时候一定是从小到大选择这些边的,而这些边的cost从小到大依次选择就可以累加出来x^2,也就是与原来的要求等效了。
继续阅读“[最小费用流][平方费用][拆点/边建图] 2018camp Birthday”