最大匹配:在二分图中,最多的没有公共顶点的边的数量。(用匈牙利算法)
最小点覆盖:在二分图中,所有边至少有一个顶点在一个点集SS中,这样的点集SS的最少元素个数。(最小点覆盖=最大匹配)
最大独立点集:在二分图中,选择一些点,使得这些点两两没有边直接相连。(最大独立点集=总点数-最大匹配)
DAG转化成二分图:将一个点拆分成两个点:入点和出点,连一条边(如A→BA→B),就把AA的出点和BB的入点相连。
DAG的链:一条从AA走到BB的路径上的所有点。
DAG的反链:DAG中,一个点集,使得该点集中,任意两个不相同的点,都不能从一个点走到另一个点,那么这个点集就是这个DAG的反链。
最小路径覆盖:在DAG中,用最少的不相交的链覆盖整个DAG上的点(转化成二分图,则最小路径覆盖=点数-二分图的最大匹配)
最小链覆盖:在DAG中,用最少的相交的链覆盖整个DAG上的点(先用Floyd传递闭包,然后对于一个点AA,将AA与所有与AA相连的点连接,则最小链覆盖=转化后的图的最小路径覆盖)
最长反链:在DAG中,点数最大的反链(最长反链=最小链覆盖)
转载于:https://www.cnblogs.com/Canopus-wym/p/10376237.html