AT_arc076_d [ARC076F] Exhausted? 题解 / Hall 定理学习笔记

· · 题解

:::::info[题目基本信息] 考察:图论,线段树,扫描线(2819)。
题目简介:
给定一个二分图 G,有 n 个左部点和 m 个右部点,第 i 个右部点的权值为 i,同时给定序列 \{l_n\},\{r_n\},表示第 i 个左部点会和权值 x 满足 x\le l_i\lor x\ge r_i 的右部点连一条边,现在你可以增加一些右部点并任意钦定他们的权值使得该二分图的最大匹配为 n,问最少添加几个右部点。
数据范围:

证毕。
::::: Hall 定理还有一条推论:
:::::success[Hall 定理推论]{open} (引用 Hall 定理内的定义)

\nu(G)=|V_1|-\max_{V\subseteq V_1}(|V|-|N_G(V)|)

::::: :::::success[证明] 还是开拆成不等式。

原命题得证。
::::: 将引理代入得到本题答案为 \displaystyle\max_{V\subseteq V_1}(|V|-|N_G(V)|),在本题中 \displaystyle|N_G(V)|=\bigcup_{u\in V}[1,l_u]\cup[r_u,m],其中 [l,r]l>r 时表示 \varnothing
但是区间的并(还是两段)并不好做,所以我们考虑容斥成区间的交,容易得到 \displaystyle\bigcup_{u\in V}[1,l_u]\cup[r_u,m]=m-\bigcap_{u\in V}(l_u,r_u)
现在考虑枚举交集,但是你好像忘了什么……

然后就做完了。
时间复杂度为 \Theta(n\log n+n\log m+m),空间复杂度为 \Theta(n+m)

code