這個姿勢實在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如下