题意
现有 N 个模块,A 、 B 两个处理器。模块 i 在 A 上运行的花费为 Ai,在 B 上运行的花费为 B 。所有的模块中有 M 对模块组合 (ai, bi),如果 ai 和 bi 不在同一个模块上运行,会产生额外花费 wi 。求所有模块运行所需的最小花费。
思路
用最小费用将对象划分成两个子集合的问题,常常可以转化成最小割。
题目链接
http://poj.org/problem?id=3469
AC代码
最大流模板,就不贴了。
现有 N 个模块,A 、 B 两个处理器。模块 i 在 A 上运行的花费为 Ai,在 B 上运行的花费为 B 。所有的模块中有 M 对模块组合 (ai, bi),如果 ai 和 bi 不在同一个模块上运行,会产生额外花费 wi 。求所有模块运行所需的最小花费。
用最小费用将对象划分成两个子集合的问题,常常可以转化成最小割。
http://poj.org/problem?id=3469
最大流模板,就不贴了。