网络最大流与二分匹配之间的关系

二分图有两部分节点L和R,各部分内部节点之间没有边,即每条边的两个节点都一定分属这两部分,二分图的一个匹配是找到这样一组边,使得每个节点都只有至多一条边与其相连。

而二分图求最大匹配可以用匈牙利算法来求,不过有的题建图比较麻烦,比如:POJ 2239,所以可以用网络最大流来求最大匹配。

二分图的最大匹配问题可以转化为网络最大流问题。增加一个到所有L中顶点容量均为1的源点s和一个所有R中顶点到其容量均为1的汇点t,所有L到R中的边容量也设置为1(其实这个不是1也是可以的,因为求增广路的时候是没有影响的,比如POJ 2239),现在查找此网络流的最大流就等同于求此二分图的最大匹配。证明过程见算法导论。

POJ 2239还没做,因为不知道怎么做,所以就看了这两个的区别了再做,以前学习的时候竟然不知道这两个还有这关系呢,哈哈,图论感觉要爱上了……

不过这题2239与昨晚组队赛那题URAL 1997 有点相似,因为都可以用二分图的最大匹配来求,难点都是建图,而建图方式都差不多,就是利用数据分成左右两边,即构建二分图,然后再连边就行了……不过这题数据组数比较多,所以建图还是有点晕……因为衣服数量越大,那结点就会越多,图就会更大更烦,所以感觉用网络流还是比较好,增加超级源点和超级汇点就行了……

你可能感兴趣的:(网络最大流与二分匹配之间的关系)