二分图匹配

一、二分图

  • 定义:
    一个图,它的顶点可以分成2个集合X和Y,使所有的边连接的2个顶点中,一个属于X,一个属于Y。那么这就是一个二分图。
  • 二分图的匹配:
    给定一个二分图G,M为G边集的一个子集。若M的任意2条边都不依附于同一个顶点。则M是一个匹配。
  • 最大匹配:图中包含边数最多的匹配。
  • 完美匹配:如果所有点都在匹配边上,则这个匹配是完美匹配。

二、二分图判定

  • 染色法:从任意节点开始染色,进行深搜。
    对于每条未被染色的点,染上与相邻节点不同的颜色。若已经染色且与相邻节点颜色相同,则原图不是二分图,否则继续判断。

三、二分图的最大匹配

  • 转化为单位容量简单网络的最大流问题
  • 匈牙利算法
  • 二分图应用
    • 棋盘类二分图匹配
    • 最小点匹配
      • 最小覆盖:最小覆盖要求用最少的点,让每条边都至少与其中一个点关联
      • 易证:最少的点(覆盖数)=最大匹配数
      • glod小行星群
    • 二分图的最大独立集
      • 最大独立集问题:在n个点的图G中选m个点,是这个点两两之间没有边,求m最大值。
      • 二分图的最大独立集数=节点数-最大匹配数(最小覆盖)
      • 舞会
    • 最小边覆盖
      • 边覆盖集:若G中所有顶点都是E中边的覆盖顶点,则E为G的边覆盖集
      • 最小边覆盖=最大独立集=n-最大匹配
      • poj3020 Antenna Placement
      • 无向图最小边覆盖=原图顶点数-(二分图最大匹配/2);
        如何转为二分图?
        拆点:将原图复制1份:若1与2相连,则1与2,连边
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值