P3386 【模板】二分图最大匹配 题解

本文通过实例解析二分图最大匹配问题,介绍了匈牙利算法的基本思想和步骤,包括如何处理匹配过程中的冲突和循环,以及算法的时间复杂度分析。文章以一个有趣的‘绿与被绿’的比喻来阐述算法过程。
摘要由CSDN通过智能技术生成

博客园同步

原题链接

简要题意:

给定两个点集与一些边(保证每条边的顶点属于不同点集),求二分图最大匹配。

解释下:二分图最大匹配 就是 最大的边集使得每两条边都不相交,不共点 的边的个数

那么你会说,我用并查集维护一下就行了?远远不是这样。

本题作为 匈牙利算法 的模板题讲解。

以下面这个关系为例:

假设有 wxqwsqzmxNBLbfwgyxkkk 六个人。

其中,wxqzmxgyxbfw是第一点集,其余是第二点集。

并且他们说:

  • wxq: 我觉得 wsqNBLkkk 都可以成为我的 CP \text{CP} CP

  • zmx: 我觉得只有 wsq 可以成为我的 CP \text{CP} CP.

  • gyx: 我觉得 wsqNBL 都可以食用。

  • bfw: 我觉得她们三个都不错啊。

好,下面我们要 尽量满足他们的需求

第一个人 wxq,好,他的第一个备选人是 wsq,那么就先让他和 wsq 成为 CP \text{CP} CP.

第二个人 zmx 来了,并对 wxq 说:

你拿走了 wsq 那我怎么办???

wxq 想:行啊,反正我还有 NBLkkk.

于是,wxq被绿了 zmx 成功地 ~绿了wxq 得到了 wsq,然后 wxqNBL 成为 CP \text{CP} CP.

然后,第三个人 gyx 来了,并对 zmx 说:

你拿走了 wsq 那我怎么办?

zmx 想了想说:

我只有她一个备选人啊,我要生存!单身狗还是你做吧

于是 gyx 绿人计划失败

但是 gyx 看自己的备选人还有 NBL,所以对 wxq 说:

喂喂喂,快点还我 NBL.

wxq 想:没关系,反正我还有 kkk 对吧。

所以 wxq又被绿了 gyx 绿了wxqNBL 成为了 CP \text{CP} CP,然后 wxq被轮番绿kkk 成为了 CP \text{CP} CP.

最后一个人 bfw 来了,他先找到 zmx 说:

wsq 给我行不?

zmx 说:我只有她一个人啦!对方拒绝了该请求。

bfw 又辗转来到 wxq 说:

kkk 给我行不?

wxq 说:你们都想绿我是吧,没门 我也只有她一个人了。

bfw 最终对 gyx 说:

救救我,我马上要单身了。

gyx 一口回绝道:我刚刚绿了 wxq,你就像反绿我是吧 我也只有 NBL 一人了,你再找找别人吧。

最后,bfw 成为了单身狗 被抛弃了,他没有 CP \text{CP} CP,所以上述的 二分图最大匹配

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值