神秘姿势:把 K(2n) 分解成 2n-1 组完美匹配

这个姿势实在yhx的做题记录里看到的!大家可以去膜拜原题解

链接

符号说明

\(K(n)\)\(n\) 个点的完全图

完美匹配:对于 \(2n\) 个点,一个大小为 \(n\) 的匹配就是完美匹配,也就是每个点都有恰好一个点跟它匹配。

姿势

这里的分解指的是对边集的分解。也就是说,\(K(2n)\) 一共有 \(\dfrac{2n(2n-1)}{2}=n(2n-1)\) 条边,一个匹配有 \(n\) 条边,咱把它分成 \(2n-1\) 个部分,满足每个部分都是一组完美匹配的边。

举例:\(4\) 个点,我们把它这样分解

\[\begin{cases} (1,2),(3,4)\\ (1,3),(2,4)\\ (1,4),(2,3)\\ \end{cases} \]

就是其中一种分解方法。

具体的,如何做呢?首先我们任选一个点,把它摆在中间,剩下 \(2n-1\) 个点围成一圈排起来。

不妨设中心点为 \(O=a_{1}\),剩下的点是 \(a_2,a_2...a_{2n}\)

每次选一个 \(i\in[2,2n]\),连边 \(O\to a_i\),剩下的 \(2n-2\) 个点以 \(i\) 为对称轴,两两匹配。注意这个“对称”是在环上对称。而且注意,是剩下的 \(2n-2\) 个点,实现的时候务必判掉 \(1\)\(i\) 两个点,要绕过去。

yhx的博客上有一张gif如下

应用

  1. 解决 这个题
  2. 解决 这个题
    (todo)
  3. blablabla
posted @ 2021-10-21 14:28  Flandre-Zhu  阅读(681)  评论(0编辑  收藏  举报