能用二分匹配解决的问题有很多,现在在这里总结一下二分匹配里面出现的概念和这些概念与最大匹配数的关系。
记图G = (V ,E)
匹配 ----- 在G中两两没有公共端点边集合
边覆盖 ---- G中的任意顶点都至少是F中某条边的端点的边集合F
独立集 ---- 在G中两两互不相连的顶点集合
顶点覆盖 ---- G中的任意边都至少一个端点属于S的顶点集合S
例如在下图中,最大匹配为{e1,e3},最小边覆盖为{e1,e3,e4},最大独立集为{v2,v4,v5},最小顶点覆盖为{v1,v3}。
以下是最大匹配和这些名词间的关系:
最大匹配数 + 最小边覆盖 = V;
最大独立集 + 最小顶点覆盖 = V;
最大匹配数 = 最小顶点覆盖;
(一般双向边的话,求出的最大匹配数要除以二)
二分匹配可以解决很多神奇的问题,举个例子吧,就像POJ3041题Asteroids,给你一些行星的坐标,一个激光武器可以消灭掉一行或一列的行星,问你最少用多少个武器才能把行星消灭完,这题只要把每一个行星的横坐标和纵坐标直接连一条边,建一个图,求出的最大匹配就是所要的答案。