二分图

二分图

我们就考虑,对于一个二分图来说,用超源连接一下左面的点,超汇连接右边的点,然后跑一边最大流,就是二分图最大匹配

定理:

  1. 二分图最大匹配=二分图最小点覆盖
  2. 有向无环图最小不相交路径覆盖
  3. 有向无环图最小可相交路径覆盖
  4. 二分图的最大独立集等于总点数减去最大匹配等于最小边覆盖

P2756

简单的二分图

左边点是外籍,右边是嘤籍

跑最大匹配

然后对于网络流来说,如果这条正边流量为0说明已经跑过了,就说明是匹配中的一条,输出就好

P1129

先倒推

目标的棋盘是每一行每一列都有一个点,就相当于是二分图的时候匹配数为n*2

如果一个点是1就把这个点和对应的行列连边

那如果交换一行呢,只是会把点的位置交换,但是边并不会改变

列同理,所以我们直接在原图上面求二分图最大匹配

P2764

我们把每一个点拆开,分为xi,yi

如果说有一条有向边的话,就把xu向yv连边,然后跑一遍最大匹配,再用总顶点数减去

为什么是对的?

因为一个定理:最小路径覆盖数=顶点数-最大匹配(记结论,别问为什么,我也不会

P3033

把所有的行列相交的连起来,左边行右边列

然后求最大匹配,用所有的减去最大匹配就好

最大独立集

P4014

二分图最大权匹配

用费用流跑一遍,代价就是费用,跑负权边(还有正权边因为这个东西很毒瘤让你求两次

上一篇
下一篇