二分图补充

电压

求奇环的边的交。

考虑 dfs 树,一条返祖边就意味着环。

维护边经过奇偶数量。

考虑经过一条返祖边,,会使得 \(x\to to\) 的路径上的边全部都在环里面,于是做一个树上差分,回溯的时候 \(fa+x \to fa\) 即可。

再考虑 dfs 树,发现所有的环都可以被统计到。

边染色

每个点出发的边都不同颜色。求最少颜色数。

任意图:设 \(W\) 为图中最大度数,则 \(\alpha=W/W+1\)

二分图下的 vizing 定理\(\alpha=W\)

给定一张二分图,左侧有 \(n\) 个点,编号为 \(1\)\(n\),右侧有 \(m\) 个点,编号为 \(1\)\(m\),有 \(k\) 条无向边。
给定 \(c\),你需要将每条边染色为 \([1, c]\) 中的一种颜色。现在,对于第 \(i\) 个点,我们定义它的代价为与 \(i\) 点相连的边中,出现最多的颜色数减去出现最少的颜色数(如果一种颜色没有出现,我们认为它的出现次数为 \(0\))。
你需要构造一种方案,使得每个点的代价和最小。

拆点使得 \(deg_x=c\),由于不影响这是个二分图,所以由 vizing 知一定可以染色。(\(W= c\)

考虑合并,\(W=c\) 的点答案是 0,但是你有一些 \(D\bmod c\) 的点无法把颜色用完,所以肯定要各分配一个,就多出来了 \(1\)

所以答案就是 \(deg_x\) 不能整除 \(c\)\(x\) 个数。

构造方案:cf212a

柯尼希定理

什么名字。konig

  • 注意对于任意图,最小点覆盖 >= 最大匹配。

但是对于二分图是相等的。

最大独立集

  • 最大独立集 = \(n\) - 最小点覆盖。

好像现在可以感性理解上面两个东西了。()

  • 最大团 = 补图的最大独立集(也是显然)

最小链覆盖(DAG)

DAG 的最小链覆盖 = \(n\) - 二分图最大匹配。

注意这里链的相交/不交会影响二分图的建立。

不相交

考虑拆成入点和出点,连边。

相交

可以转化成不相交。

你就考虑 \(x1\to o\to y1\)\(x2 \to o\to y2\),虽然都经过 \(o\),但是可以直接加一条边 \(x2\to y2\) 替换。

所以对图求一个传递闭包,所有可联通点加边,然后就和不相交一样了。

由于是 DAG,所以传递闭包可以按照拓扑序 \(O(\frac{n^2}{w})\) 求。

证明

考虑一条边没有就是 \(n\)

这个图限制了一个点的出边和入边最多为 \(1\)

匹配一条边可以看做是合成了一条路径。

Dilworth定理

  • DAG 的最长反链大小等于最小链覆盖个数。

  • DAG 的最长链大小等于最小反链覆盖个数。

反链可以理解成补图上的链,即原图中互不联通的点。

这里链覆盖可以相交。

根据 Dilworth 定理可以把最长链大小和反链覆盖联系起来。

祭祀

求最长反链大小 = 最小链覆盖 = n - 最大匹配。

先来考虑一下第三问怎么求,考虑强制一个点选入反链。

在图中删去这个点和它能到达和被到达的点后,再求一遍答案,如果此时答案比第一问小 1,说明这个点可以选入答案。

2 根据 3 来走即可。

二分图博弈

游戏

考虑建二分图,如果是完全匹配那么一定后手剩。

因为完全匹配下,后手一定会走先手的点的匹配,而后手一定先走完。

考虑不完全匹配,先手可以走一个非特殊点,这样后手一定会走一个匹配下的点,先手选择这个点对应的匹配点。

只需要证明后手下一步走的点一定在最大匹配上。

这是比较显然的,可以考虑替换最大匹配边。

然后这个东西,对于任意最大匹配的所有非匹配点都是成立的。

Hall 定理

不会一点啊。

令左部点点数小于右边。

对于任意左部点的集合,如果满足所有 \(|S|\le |N(S)|\),那么二分图一定有完美匹配。其中 \(N(S)\) 是和 \(S\) 中的点相连的右部点的点集。

推论

  • 二分图的最大匹配为 \(\min\{|V_1-S|+|N(S)|\}\),S 是左部点子集。

等价于:\(V_1-\max\{|S|-|N(S)|\}\)

证明考虑转化成最小点覆盖即可。

看这些习题,发现 Hall 定理一般用于简化问题,实际上和最后的实现二分图匹配关系不大。(?)

HDU 6667

其实就是一个运用,等价成:\(Suma-\max\{|S|-|N(S)|\}\)

分类讨论,使得 \(|S|-|N(S)|\) 尽量小。当 \(a\) 中选了 2 个班的时候 \(N(S)=V_2\),情况就很平凡了。

LOJ6062

arc076d

答案就是 \(n\) - 最大匹配。

根据等价式可得求:\(\max\{ |S|-|N(S)|\}\)

由于是补区间,写出来是:\(|S|-[m-(R-L+1)]\)\([1,L],[R,m]\)\(|S|\) 中的(补)区间的并。

那么 \(S\) 中的数满足:\(l_i\le L,r_i\ge R\)\(|S|+(R-L+1)-m\)

考虑按 \(l_i\) 排序,依次插入,当前值作为 \(L\),发现 \(-L,1,-m\) 为定值,\(|S|\) 就是满足 \(r_i\ge R\) 的区间数量,那么我们给区间 \([L,r_i]\) 加 1 即可,对于那个 \(R\),就给线段树赋上初始值 \(i\) 即可,每次查询后缀最大值。

LYZ-Ice Skates

原来是 9 个月之前做的 S 组模拟赛题。现在秒了。

首先这是一个二分图匹配的形式,用 hall 定理得到充要:\(\text{Suma}(l,r)<=(r-l+1+d)k\)

转化一下形式就可以线段树维护了。

HNOI 2018 省队集训 Day 5 Party

最难的是统计答案,其它比如树剖、bitset 都是显然。

由于每种颜色只能被一个人选,想到二分图匹配。

设每个人有 \(x\) 个物品,那么我们给每个人建 \(x\) 虚点,最后只需要 \(|S|\le |N(S)|\),即 \(|S|\times x\le f(S)\)

由于 \(c\) 很小,所以我们直接枚举 \(S\),计算出 \(x\) 满足所有 \(S\) 即可。根据 Hall 定理此时正好一定可以完美匹配。

带权 Hall

撸猫

转化成一个模型:左边 2^n,右边猫。

连接的边:每种情况连 pr、每只猫的一共出量为 c*p[i]。

带权匹配,要求右边漫流;

考虑带权 hall,满足 w|S右| <= w|N(S右)|

那么对于右边每种选取的情况,暴力计算 N(S) 和 S 即可。N(S) 可以高维前缀和算 。

二分图匹配

匈牙利:\(O(nm)\)

Dinic:\(O(\sqrt n\times m)\)

但是还没到 dinic,再等等。

posted @ 2024-07-08 11:30  LCat90  阅读(10)  评论(0编辑  收藏  举报