2014年04月23日

                                                       我对二分图求最大匹配的体会和理解(基于邻接矩阵和dfs)
  刚刚学会二分匹配,去杭电acm做了到入门的题,给出链接http://acm.hdu.edu.cn/search.php?action=listproblem
  接下来谈谈我的理解
              由于这道题给的数据特殊,总是从女孩到男孩,所以我大可以开个二维数组map[i][j],表示 从i到j有一个边,将他赋值为1,
  另外我还需要两个标记数组,used[maxn],这个数组用来判断一个点是不是在交替路上,match[maxn],这个数组用来判断从i顶
点到j顶点的边是不是匹配边。
             按照本题的解题思路,在hungarian()函数,也就是匈牙利函数中,我需要去初始化match数组,因为刚开始肯定都不是匹配边。
然后需要遍历所有的女孩(左边集合元素),然后去初始化used数组,接着调用dfs,如果返回成功,匹配边数加1
            然后是关键的dfs函数,这里搜索的路线一定是交替路,遍历所有男孩(右边集合元素),去判断节点是否被访问过而且从i到j是不是有边,
如果是的话,进行相应操作,返回成功,否则返回失败



[talkid:138031378]20144月20 05:55:45 , <span class="hint-success" data-hint="">111222</span> 向 <span class="hint-success" data-hint="">323456</span> 发送 我们已经是好友了,开始聊天吧! [talkid:138031379]20144月20 06:55:45 , <span class="hint-success" data-hint="">111222</span> 向 <span class="hint-success" data-hint="">342112</span> 发送 我们已经是好友了,开始聊天吧! [talkid:137031381]20144月20 03:55:45 , <span class="hint-success" data-hint="">2323234</span> 在群 <span class="hint-success" data-hint="">20011</span> 中发言 我们已经是好友了,开始聊天吧! [talkid:137031382]20144月22 04:45:45 , <span class="hint-success" data-hint="">2323234</span> 在群 <span class="hint-success" data-hint="">20011</span> 中发言 音频 :[<a href="files/f/f123fsasfsfsjdfrhf_n.m4a"]>音频</a> [talkid:137031383]20144月23 04:55:45 , <span class="hint-success" data-hint="">2323234</span> 在群 <span class="hint-success" data-hint="">20011</span> 中发言 图片 :[<a href="files/f/f123fsasfsfsjdfrhf_n.jpg"]>图片</a> [talkid:137031384]20144月24 05:55:45 , <span class="hint-success" data-hint="">2323234</span> 在群 <span class="hint-success" data-hint="">20011</span> 中发言 我们已经是好友了,开始聊天吧! [talkid:137031385]20144月25 06:55:45 , <span class="hint-success" data-hint="">2323234</span> 在群 <span class="hint-success" data-hint="">20011</span> 中发言 我们已经是好友了,开始聊天吧!利用Python爬虫提取中发言或发送后的内容,如果包含<a href则设置为空
07-16
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值