【自用】二分图相关总结

本文总结了二分图的相关概念,包括最大匹配、最大独立集、最小边覆盖、最小路径覆盖和最小点覆盖,并介绍了如何利用匈牙利算法和网络流方法求解最大匹配。同时提到,最小边覆盖等价于最大独立集,以及如何转化问题求解最小路径覆盖。还提及了二分图的最优匹配问题和Dinic算法在解决二分图问题上的优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

链接:

#include <stdio.h>
int main()
{
    puts("转载请注明出处[vmurder]谢谢");
    puts("网址:blog.youkuaiyun.com/vmurder/article/details/45092617");
}

概念:

最大匹配:二分图上最大对数的点对使得对之间有连边,且任意两点对4个点之间互不相同
最大匹配:无视上面那条,其实就是你找一个点,然后给它连一个有边连过去且没匹配过的点,然后就称得到一个匹配。最大匹配就是匹配数最大是多少。
最大独立集:二分图上最大点数的子点集使得两两之间没有连边
最小边覆盖:二分图上最小条数的子边集使得所有点都被且仅被一条边覆盖
最小路径覆盖:拓扑图上最小条数的路径,两两没有重边,且所有节点都被且仅被一条路径覆盖。注意,一条路径可以是一个单独的点。
最小点覆盖:二分图上最小点数的子点集使得所有边都至少有一个点在此集中。
二分图多重匹配:管它干嘛,这是网络流模型
二分图最优匹配:每条边都有权值,然后要在最大的情况下使得权值最优(最大或者最小或者什么的)

求法:

最大匹配:匈牙利算法,或者跑网络流 (o_o)
最小边覆盖=最大独立集=总点数-最大匹配
最小路径覆盖:一个点x拆为x1和x2 , 然后对于有向边 <x,y>,连接 <x1,y2> ,然后答案是原图点数-新图最大匹配。诶新图是二分图不用证吧??
最小点覆盖=最大匹配
最优匹配:KM算法(玛雅还是写费用流吧)

备注:

dinic跑二分图有奇效!碾压isap

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值