此文意在整理二分图的各种变形。
HDU 1068 Girls and Boys
最基础的二分图匹配问题,简单的求最大匹配数。
HDU 1150 Machine Schedule
无向图 最小点集覆盖 = 最大匹配。
把作业看成边,把机器看成点。
无向图的最小点集覆盖是指存点集K,使得图中的所有边都与K中的某些点相连 ,且去除K任意一点就不再满足前述条件。
HDU1151 Air Raid
DAG的最小路径覆盖 =DAG 顶点数 - 对应二分图的最大匹配。
将DAG中的点一分为二,对于N个点中的第 i 个点 分成 i 与 n+i。
然后对着2*n个点建立无向图。
DAG的最小路径覆盖是指找最小数目的互相不相交的有向路径,满足DAG的所有顶点都被覆盖。
HDU 2389 Rain on your parada
匈牙利算法的小优化之一。
对于最朴素的匈牙利算法是从一个空匹配开始进行增广路。
其实我们用预处理出一个匹配M',然后从M‘的基础上进行增广,效果还是不错的。