CF737E Tanya is 5!

全在口胡,没写代码

首先不考虑复制。

显然是一个二分图匹配问题。如果能分成 \(k\) 次若干组匹配,那么答案一定不超过 \(k\)

建出二分图,答案有下界:最大的度数。想象一下,每次抠掉若干匹配,尽量匹配度数最大的点,感觉一定能让最大的度数减一。

严谨证明一下:令最大度数为 \(D\),通过建立虚点,把 \(D\) 次匹配补成完美匹配,每个点度数为 \(D\)。具体是真人向假人连 \(D-d_i\) 的流量,机器同理,假人和假机器之间同理。

这样一定可以把图分成 \(D\) 个完美匹配(考虑 Hall 定理反证)。

每次真人和真机器匹配就说明原问题也匹配了。

对于有复制的情况,只要机器的度数尽量小,每次选度数最大的对半分就行。

posted @ 2023-02-24 10:06  shrtcl  阅读(25)  评论(0编辑  收藏  举报