#include <stdio.h>
int main()
{
puts("转载请注明出处[vmurder]谢谢");
puts("网址:blog.csdn.net/vmurder/article/details/45092617");
}
最大匹配:二分图上最大对数的点对使得对之间有连边,且任意两点对4个点之间互不相同
最大匹配:无视上面那条,其实就是你找一个点,然后给它连一个有边连过去且没匹配过的点,然后就称得到一个匹配。最大匹配就是匹配数最大是多少。
最大独立集:二分图上最大点数的子点集使得两两之间没有连边
最小边覆盖:二分图上最小条数的子边集使得所有点都被且仅被一条边覆盖
最小路径覆盖:拓扑图上最小条数的路径,两两没有重边,且所有节点都被且仅被一条路径覆盖。注意,一条路径可以是一个单独的点。
最小点覆盖:二分图上最小点数的子点集使得所有边都至少有一个点在此集中。
二分图多重匹配:管它干嘛,这是网络流模型
二分图最优匹配:每条边都有权值,然后要在最大的情况下使得权值最优(最大或者最小或者什么的)
最大匹配:匈牙利算法,或者跑网络流
最小边覆盖=最大独立集=总点数-最大匹配
最小路径覆盖:一个点x拆为x1和x2 , 然后对于有向边
最小点覆盖=最大匹配
最优匹配:KM算法(玛雅还是写费用流吧)
dinic跑二分图有奇效!碾压isap
原文地址:http://blog.csdn.net/vmurder/article/details/45092617