对于某些边能走k次但费用最多只能加h次的边(h<=k),可以采用拆点的方法。
比如点 i 到汇点 t ,要求点 i 到汇点 t 这条边上的费用只能被计算1次。
如果题目问的是 求最大费用的话,可以将点 i 拆成u, v2个点。u到v建立2条边,其中1条流量为1, 费用为原费用的相反数(保证求最小费用最大流时这条边优先被选中),另外一条流量为INF,费用为0。最终得到的最小费用的相反数即为题目所求的最大费用。
如 poj3422 http://poj.org/problem?id=3422
如果题目问的是 求最小费用??????
如UVALive 6868 http://acm.hust.edu.cn/vjudge/contest/128157#problem/D
这题正解不是费用流,我想用费用流做,做不出来。
https://blog.sengxian.com/algorithms/clearcircle
费用流-消圈算法讲得很清楚明了的,mark~