最大重量二分匹配

时间:2010-10-16 10:33:50

标签: algorithm graph matching bipartite

我有一个矩形网格形式的图形,即N个节点和2N个边缘,所有相邻节点都连接在一起。 这意味着它是双色的,因此可以在其上进行二分匹配。

每个(无向)边缘都有一个分配给它的权重 - -2,-1,0,1或2.不允许其他值

如何在此图表上找到最大化匹配中重量总和的匹配?伪代码会很好,不用特定的语言。

理想情况下,我正在寻找一种在二次时间内运行的算法 - 最差的可能是O(n ^ 2 log n)。


在您提出解决方案之前,我尝试使用重量2的边缘进行最大匹配,然后是重量1的边缘(不超过重量2的边缘)。我通过此实施获得了98%(问题来自信息学奥林匹克运动会),并且想知道100%的解决方案是什么。

1 个答案:

答案 0 :(得分:3)

不确定为什么你会想到最小切割。在这种情况下,不保证剪切可以匹配。您需要做的是解决分配问题。Assignment Problem。连续的最短数学算法在O(EV log V)中解决它,在你的情况下是O(n ^ 2 log n)。

相关问题