完全二分图的最大权完美匹配 KM算法

         最近在切二分匹配的题目,以前只学了点概念,趁现在有时间仔细得学下,下午和晚上花了几个小时学了KM算法,开始比较难理解,看了lrj的ppt后,有点明白了,现在整理下,以便记住。

        概念:

                 lx(u),ly(v)分别表示左右两边的顶点顶标,即每一个点的值,这里有lx(u)+ly(v)>=w(u,v),选值时可令ly(v)=0,lx(u)为邻边权值最大的一个值。

                相等子图:G的生成子图,仅包含满足lx(u)+ly(v)==w(u,v)的边(所以叫相等,我是这样理解的)

                定理:如果相等子图有完美匹配,则该匹配是原图的最大匹配。(证明可以去搜刘汝佳的ppt)

                思想:选定顶点的顶标,寻找相等子图的完美匹配,若找到,则终止算法,否则更新顶标,使更多的边满足lx(u)+ly(v)==w(u,v);循环直到算法终止。

                一下是一个在网上找的代码以及个人的解析分享下(若有错误,谢谢指出):

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值