USACO-Section 4.2 The Perfect Stall (二分图最大匹配[匈牙利算法[DFS]||网络流[Ford-Fulkerson]])
解法一:匈牙利算法[DFS] O(nm)
匈牙利算法专门用于部图的匹配,所以速度极快,全部test都是0.00s
大致思路:枚举n头奶牛为起点,若找到一条增广路径(终点为未匹配,且奇数边均不在原匹配中,偶数边均在原匹配中),则答案+1
DFS实现找增广路径:dfs参数是i表示奶牛,枚举奶牛喜欢的牛棚,若牛棚不在当前增广路径中,则将其“纳入”增广路径(不一定出现在增广路径中,失败时不必再除去,因为当前状况下就失败,后面的状况不会更好,算作剪枝),若枚举的牛棚未被占据 或 以占据该牛棚的牛为起点时存在一条增广
原创
2016-04-17 14:03:50 ·
963 阅读 ·
0 评论