二分图的性质

最大匹配 = 最小点覆盖 = 总点数-最大独立集 = 总点数-最小路径点(不重复)覆盖

最小点覆盖:选择最少的点覆盖所有的边

证明:

​ 1.最小点覆盖>=最大匹配数:如果要覆盖所有点,至少要把所有匹配边选上。

​ 2.最小点覆盖<=最大匹配数:

​ 1.求最大匹配

​ 2.从左边每个非匹配出发,做一次增广标记所有经过的点。

​ 得到:左边所有未被标记的点:一定是匹配点 ; 右部所有标记的点:一定是匹配点(如果是非匹配点说明还存在增广路),符合这种情况的左右部点之和为最大匹配。

​ 对于一个匹配边:两端点一定同时被标记或同时没有被标记。(好像对证明没有意义)

​ 对于任意一条边:如果同时被标记符合右部被标记,如果同时没有被标记符合左部没被标记。

最大独立集:选出最多的点,使得任意两点之间没有边。

证明:

​ 等价于:去掉最少的点,将所有边破坏掉(剩下的点就是最大独立集)

​ 等价于:求最小点覆盖

​ 等价于:求最大匹配

最大团:选出最多的点,使得任意两点之间都有边。

证明:

​ 对于图G,对于有边相连的点边删去,没有边的点加上边,求出它的补图G’,对于G’的最大独立集,就是G的最大团。

最小路径点覆盖:对于一个DAG图,用最少的互不相交(点和边都不重复)的路径将所有点覆盖。

证明:

​ 将每个点拆成入度和出度点,形成二分图:入度点在左部,出度点在右部。由于每个点只输入一条路径,所有每个点的入度和出度都小于等于1,这就符合二分图的最大匹配了。由于每条路径都有一个终点出度为0,所有左部没有连边的点都代表每条路径的终点。所以总的点数减去匹配点数等于终点的数目等于路径数

最小路径重复点覆盖:

求传递闭包后,再求最小路径点覆盖

猜你喜欢

转载自www.cnblogs.com/jjl0229/p/12791232.html
今日推荐