摘要: Kuhn-Munkras算法流程: (1)初始化可行顶标的值 (2)用匈牙利算法寻找完备匹配 (3)若未找到完备匹配则修改可行顶标的值 (4)重复(2)(3)直到找到相等子图的完备匹配为止直接附代码 1 bool dfs(int x)//匈牙利算法寻找x的增广路径 以x为根的M的交错树 2 { 3 int y,t; 4 visx[x]=true; 5 for(y=0;yt)22 slack[y]=t;23 }24 }25 return false;26 }27 //外层的匈牙利算法需要O(2)的... 阅读全文
posted @ 2013-08-19 22:09 蛋丁 阅读(514) 评论(0) 推荐(0) 编辑
摘要: 这题与裸的二分图最小路径覆盖的区别是结点可重复走,从而变为了传递闭包的最小路径覆盖。具体做法是用floyd将凡是能连通的结点都标记为能直接走到,然后建一条边,最后用最小路径覆盖做就行了~ 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 //#include 13 #include 14 #include 15 #include 16 #define INF 0x7fffffff... 阅读全文
posted @ 2013-08-19 03:57 蛋丁 阅读(190) 评论(0) 推荐(0) 编辑