「Sdchr 的邀請賽」題解

騙個訪問量。。函數

A:取石子

將點 x 與點 x / prime 連邊,那麼這個圖能夠由指數之和的奇偶性來劃分紅一個二分圖。spa

接下來考慮推廣階梯 NIM (或者這本來就是階梯 NIM ?),必勝當且僅當奇數層的點上的石子數的異或和不爲 0 ,因此進行一下計數就行了。設計

B:重返現世

如何處理 \(k = n\) ?考慮 \(\text{max-min}\) 容斥,而後 DP 。網上資料不少,這裏不贅述。class

考慮將 \(\text{max-min}\) 推廣到 \(\text{kthmax-min}\) 容斥?
\[ \text{kthmax(S)} = \sum_{T \subset S} \min(T) f(|T|) \]
對第 \(x+1\) 大的元素,創建實際應該計算的次數與上述式子中計算的次數的聯繫,
\[ [x + 1 = k] = \sum \binom{x}{i} f(i+1) \]im

\[ f(x) = (-1) ^ {x - k} \binom{x - 1}{k - 1} \]di

\[ \text{kthmax} (S) = \sum_{T \subset S} \frac{m}{\sum_{i \in S} p_i} (-1) ^ {|T| - k} \binom{|T| - 1}{k - 1} \]比賽

而後考慮設計一個 DP ,設 \(f(i, j, k)\) 表示處理了前 \(i\) 位,\(\sum_{i \in S} p_i = j\) ,組合數的下指標爲 \(k\) 時的
\[ \sum_T (-1) ^ {|T| - k} \binom{|T| - 1}{k - 1} \]
邊界和轉移都須要用到一點組合數的知識。display

C:畫畫

比賽進行的時候,我去 OEIS 上找到了前 60 項。。。早知我出到 65 項,測了第 61 項只須要跑兩秒。。。生成

首先你們能夠作作 BZOJ 1408 ,再來看這個問題。math

這個問題就一樣是枚舉分拆數,而後瞎計數。我本身的作法是大力分析一下,這個分析過程比較複雜就不贅述了;或者也能夠直接 \(O(n ^ 6)\) 進行高斯消元,而二者的本質是同樣的,由於一張圖的線性基就是一個森林。

出完這道題的時候發現,的確能夠作到 \(n\) 個點的無標號連通歐拉圖計數,設上述答案爲 \(g(n)\)\(n\) 個點的無標號連通歐拉圖的個數爲 \(f(n)\) ,構建普通生成函數,則
\[ G(x) = \prod \frac{1}{(1 - x ^ i) ^ {f(i)}} \]

\[ \ln G(x) = \sum_i - f(i) \ln (1 - x ^ i) = \sum_i f(i) \sum_{j \ge 1} \frac{x ^ {ij}}{j} = \sum_{t \ge 1} x ^ t (\sum_{ij = t} \frac{f(i)}{j}) \]

D:信息傳遞

考慮 \(f\) 的某個輪換 \(s\) ,在 \(n\) 次置換下會變成什麼?

那麼,能夠將多少個 \(f ^ n\) 的大小爲 \(s\) 的輪換進行合併,以及合併的方案數?

以後對每種不一樣的大小求 \(exp\) ,而後相乘便可。

相關文章
相關標籤/搜索