zoukankan      html  css  js  c++  java
  • 二分图部分总结

    二分图及其相关定义

    二分图相关定义:

    二分图的判定:

     只需判定图是否有奇环即可,若无奇环则为二分图。判定方法有染色法,并查集(拆点)等。

    边覆盖集:

     选出某些边集合,满足G中所有点都是边集合中某条边的端点。注意极小的最小的区别。极小边覆盖集的任何真子集都不是边覆盖集。

    最小路径覆盖和最小边覆盖的区别:

     最小路径覆盖不要求给的图是二分图,而要求是PXP的有向图。不能有环,根据原图拆点构成二分图。

     点u分为u1和u2,点v分为v1和v2。若u->v有边,则u1->v2。

    最小路径覆盖 = n - m

     n是原图的顶点数,m是新构造二分图的最大匹配。

     根据定义最小路径覆盖里要求同一个点只可以属于一条路径,
     即路径时不可以开叉的,如果在二分图里选两条有公共点的边那么反应在原图上
     就是路径有岔路,那么就不符合匹配的定义了,所以二分图里选的边必须是无公
     共交点的,这转化到最大匹配了。

    DAG图中:最小路径覆盖 = 节点数 - 最大匹配数

     Floyd对原题求一次传递闭包,然后求新图的最小路径覆盖。

    二分图相关定理:

    最大匹配数 = 最小点覆盖数 = 左边匹配点 + 右边未匹配点

    最小路径覆盖 = |G| - 最大匹配数

    最大独立集 = 顶点数 - 最大匹配 = 顶点数 - 最小点覆盖

    显然把最大匹配两端的点都从顶点集中去掉, 剩余的点是独立集, 这是|V|-2*|M|, 同时必然可以从每条匹配边的两端取一个点加入独立集并保持独立集性质.

    最大团 = 补图的最大独立集

    最小割 = 最小点权覆盖集 = 点权和 - 最大点权独立集

    二分图最小边覆盖 = 最大独立数 = n - 最大匹配

    无向图的最小边覆盖集 = (二分图(拆点后)两边顶点数-最大匹配)/2

    https://blog.csdn.net/qq_41730082/article/details/81456611
    https://blog.csdn.net/xuzengqiang/article/details/7266034

  • 相关阅读:
    字符串的问题(strstr和strncpy 水题)
    数一数(KMP+思维)
    栗酱的数列(KMP+思维)
    D. Almost All Divisors(思维)
    E. Two Arrays and Sum of Functions(贪心)
    好位置(思维)
    Just A String(kmp)
    Dubbo简介
    lambda表达式快速创建
    分布式RPC系统框架Dubbo
  • 原文地址:https://www.cnblogs.com/Cwolf9/p/9756374.html
Copyright © 2011-2022 走看看