想起来一些二分图经典的操作
在这里随便整理一下
Hall定理
一个二分图,最大匹配数为
n
−
m
a
x
(
∣
X
′
∣
−
∣
Y
′
∣
)
n-max(|X'|-|Y'|)
n−max(∣X′∣−∣Y′∣)
其中
X
′
X'
X′为
X
X
X侧我们任意选出的一个子集,
Y
′
Y'
Y′为这个子集所对应的Y侧所有的点
考虑对于任何一个在匹配中没有的点,把他选上,得到
∣
Y
′
∣
|Y'|
∣Y′∣此时所有的Y点肯定都是被匹配了的,这时把他们所匹配的点全部丢进来。不断重复这个操作,必然可以得到一个闭合的子图。这时候左侧的点比右侧的点就之多了本来这一个点。因此定理得证。
比较常用的形式是,如果x可以全部被匹配,那么对于他的任何一个子集,所连向的Y侧的点,一定有
∣
X
′
∣
≤
∣
Y
′
∣
|X'|\le|Y'|
∣X′∣≤∣Y′∣
字典序最小的方案
先随便跑一个解出来
然后逐个调整
看看在不影响每个人都有匹配的情况下最小可以得到多少
然后从小到大,一个点调整后把他删掉即可