二分图是一种特别的图
形式化地定义:可以分成两个点集XY 对于所有的<u,v>∈E 必有v∈X and u∈Y
最大匹配:求一个子集
这个子集满足两个条件,
1:任意两条边都不依赖于同一个点。
2:让这个子集里的边在满足条件一的情况下尽量多。
最大独立集是指求一个二分图中最大的一个点集,该点集内的点互不相连。
最小顶点覆盖是指 在二分图中,用最少的点,让所有的边至少和一个点有关联。
最小路径覆盖是指一个不含圈的有向图 G 中,G 的一个路径覆盖是一个其结点不相交的
路径集合 P,图中的每一个结点仅包含于 P 中的某一条路径。路径可以从任意结点
开始和结束,且长度也为任意值,包括 0
性质:
- 最大匹配数+最大独立集=N
- 最大匹配=最小点覆盖集
- 最小边覆盖=最大独立集
对于最小边覆盖和最小路径覆盖的区别
路径覆盖通过拆点建图,原图未必二分图
每一个<u,v> 就是一条边
原图的点数-最大匹配
边覆盖是对于二分图
N-最大匹配
思想是 一开始每个点都是一条边
每个匹配意味着少了一条边
一些建图方法
法一 行列匹配法
横纵坐标分子集
法二 黑白染色
对于相邻问题
法三 反建法
正面难以满足最大
反条件建图 求最大独立集
法四 拆点
对一个点u分成入Xu和出Yu
Dag图
法五 一行变多行一列变多列