二分图: 设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),并且图中的每条边(i,j)所关联的两个顶点i和j分别属于这两个不同的顶点集(i in A,j in B),则称图G为一个二分图。无向图G为二分图的充分必要条件是,G至少有两个顶点,且其所有回路的长度均为偶数。
一、四个模型
1、二分最大匹配
2、二分图的最小点覆盖 = 最大匹配数
3、二分图的最大独立集 = 点数 - 最大匹配数 (任意一条边的两个端点不会同时被选中)
4、DAG的最小路径覆盖 = 点数 - 最大匹配数 (注意是最小路径覆盖,不是最小边覆盖,当然在这里单个结点也可以作为一条路径)
二、判二分图
1、黑白染色bfs
2、奇偶染色dfs
三、建图方式
1、原图已给出两个合适的集合,直接建图
2、拆点双边建图,匹配数/2
3、奇偶染色建图
4、行列匹配建图(其实就是行列标号)