『毒瘤算法系列11』二分图(二分图匹配·强连通分量)

本文介绍了如何在二分图中判断是否存在一个大小为n的匹配,包括当n=m时的解决方案。通过构建特定的图,并利用强连通分量的概念,可以确定边是否能成为匹配的一部分。当n<m时,引入虚拟节点来扩展思路,同样利用强连通分量算法进行判断。
摘要由CSDN通过智能技术生成

P r o b l e m \mathrm{Problem} Problem

给定一个两侧各有 n n n m m m个点的二分图(保证 n ≤ m n≤m nm),对于每条边,你需要判断原图是否存在一个大小为 n n n,且包含了这条边的匹配。

S o l u t i o n \mathrm{Solution} Solution

首先我们需要进行二分图匹配,若匹配 < n <n <n时直接判定无解。

我们首先思考一下在 n = m n=m n=m时存在匹配的情况:

  • 右边的每一个点都能在左边找到一个匹配。
    在这里插入图片描述
  • 左边的每一个点如果需要通过通非匹配边再找到一组合法解的话,我们肯定是要拆散原来哪些合法解的。
    在这里插入图片描述
    这些组合中的点和其它点都是独立的,我们需要思考如何通过某种方式找出这些点。

观察到它和匹配点恰好形成了一个有规则的图形。恰好经过了匹配边,非匹配边,匹配边和非匹配边最后回到自己。那么我们可以采取如下建图方式:

  • 若边 ( i , j ) (i,j) (i,j)是匹配边,从 i i i j j j连一条边。
  • 若边 ( i , j ) (i,j) (i,j)是非匹配边,从 j j
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值