【第二十四课】二分图:acwing-860染色法判定二分图 / acwing-861二分图的最大匹配 ( c++代码 )

目录

二分图是什么 

acwing-860染色法判定二分图

染色法

代码

acwing-861二分图的最大匹配

思路

代码


 

二分图是什么 

学习二分图的目的就是一些题目可以简化成二分图的模型来求解。 

二分图也就是:一个无向图顶点集,分成了两堆顶点(可以理解为两种不同性质),图中的每条边的两个端点分别属于两个不同的顶点集合这两个顶点集内部顶点之间没有边,所有的边都是连接两个不同顶点集合内的顶点

一个图是二分图当且仅当它不包含奇环图。(这句话正反都成立。

奇环图就是存在:边数是奇数的环 的图。

正向解释:假设存在一个奇数长度的环,那么环上的节点一定是交替属于两个集合,由于环的长度是奇数,环的最后一个节点又必须与环的起始节点相连,且它们属于同一个集合,这与二分图的定义相矛盾。因此,如果图是二分图,则不可能存在奇数长度的环

反之:如果一个图不包含奇环,那么我们通过染色法(后面会说)遍历图中的每一个节点,相邻两个节点染色不同,如果最终没有发生染色冲突的情况(即相邻的节点被染成了相同的颜色),那么就证明该图是二分图。

acwing-860染色法判定二分图

染色法

上面简单提过,其实叫染色法也只是一种标记而已,不用想的太复杂。<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值