Loading

CF2255F Who Will Witness the End?(组合,NTT,*)

CF2255F Who Will Witness the End?

\[\frac 1n \sum_{p \in \mathbb{Perm}} \prod_{i = 1} ^ n (a_{p_i} + a_{p_{i + 1}}) \]

\[\begin{aligned} nX &= \sum_{p \in \mathbb{Perm}} \prod_{i = 1} ^ n (a_{p_i} + a_{p_{i + 1}})\\ &= \sum_{d \in 2 ^ {\mathbb N}} \sum_{p \in \mathbb{Perm}} \prod_{i = 1} ^ n a_{p_{i + d_i}} \end{aligned} \]

每次 \(d\)\(0 \to 1\) 就会有个 \(a_{p_i}\) 被跳过,而 \(1 \to 0\) 时则产生重复。跳过和重复交替出现。

假设有 \(k\) 次跳过和重复且这些跳过和重复的 \(a_i\) 分别已知,方案数就是

\[D_k = n! \binom{n}{2k} (n - 2k)! 2! k!k! = \frac{2}{\binom{2k}{k}} \]

构建关于 \(z\) 的生成函数,令 \(u, v\) 满足 \(u + v = 1, uv = z\)

\[\begin{aligned} F(z) &= [x ^ n] \prod_{i = 1} ^ n (a_i ^ 2 x ^ 2 + a_i x + z)\\ &= [x ^ n] \prod_{i = 1} ^ n (a_i x + u)(a_i x + v)\\ \end{aligned} \]

\(e_j = [x ^ j] \prod_{i = 1} ^ n (1 + a_i x)\)(选 \(j\)\(a_i\) 的积,用分治 + NTT 求):

\[\begin{aligned} F(z) &= \sum_{j = 0} ^ n e_j e_{n - j} u ^ {n - j} v ^ j\\ &= [n \equiv 0 \pmod 2]e_{n / 2} ^ 2 z ^ {n / 2} + \sum_{j = 0} ^ {(n - 1) / 2} e_j e_{n - j} z ^ j (u ^ {n - 2j} + v ^ {n - 2j}) \end{aligned} \]

\(S_i(z) = u ^ i + v ^ i\)\(S_0(z) = 2, S_2(z) = 1\)

\[S_i(z) = (u + v)(u ^ {i - 1} + v ^ {i - 1}) - uv (u ^ {i - 2} + v ^ {i - 2}) = S_{i - 1}(z) - zS_{i - 2}(z) \]

\[\therefore F(z) = Cz ^ {n / 2} + \sum_{j = 0} ^ {(n - 1) / 2} e_j e_{n - j} z ^ j S_{n - 2j}(z) \]

(这步是死路)令 \({\color{#ee4433}W(j, m)} = \sum_{l \ge 0} [z ^ l] S_m(z) D_{j + l}\)

\(S\) 的递推可得 \(W(j, m) = W(j, m - 1) - W(j + 1, m - 2)\)

\[W(j, 0) = 2 D_{j}, W(j, 1) = D_j \]

\[\begin{aligned} W(j, m) &= \sum_{l = 0} ^ {m / 2} W(j + l, 0) (-1) ^ l \frac{m}{m - l} \binom{m - l}{l}\\ &= \sum_{l = 0} ^ {m / 2} (-1) ^ l \frac{m}{m - l} \binom{m - l}{l} \frac{2(j + l)!(j + l)!}{(2j + 2l)!} \end{aligned} \]

\(w_j\) 表示 \(e_j e_{n - j}\) 的系数,即 \(W(j, n - 2j)\)

\(c_k = n!D_k = \frac{n!2k!k!}{(2k)!}\),根据组合意义,

\[\color{#9944ff}c_k = \sum_{r = k} ^ {n / 2} \binom{n - 2k}{r - k} w_r \]

\[\begin{aligned} \frac{c_{k + 1}}{c_k} &= \frac{(k + 1)!(k + 1)!(2k)!}{k!k!(2k + 2)!}\\ &= \frac{(k + 1)}{2(2k + 1)}\\ \end{aligned} \]

\[\begin{aligned} 0 &= (k + 1)c_k - (4k + 2)c_{k + 1}\\ &= (k + 1)\sum_{r = k} ^ {n / 2} \left(\binom{n - 2k - 2}{r - k} + 2\binom{n - 2k - 2}{r - k - 1} + \binom{n - 2k - 2}{r - k - 2}\right) w_r - (4k + 2) \sum_{r = k + 1} \binom{n - 2k - 2}{r - k - 1} w_r\\ &= \sum_{r = k} ^ {n / 2} \binom{n - 2k - 2}{r - k}((k + 1)w_r - 2kw_{r + 1} + (k + 1)w_{r + 2})\\ &= \sum_{r = k} ^ {n / 2} \binom{n - 2k - 2}{r - k}((r + 1)w_r - (n - 2)w_{r + 1} + (n - r + 1)w_{r + 2})\\ \end{aligned} \]

对于每个 \(k, r\) 列出三角矩阵,对角线都是 \(1\),显然消元后满足:

\[(r + 1)w_r - (n - 2)w_{r + 1} + (n - r + 1)w_{r + 2} = 0 \]

递推即可,边界可以用之前 \(W(j, n - 2j)\) 算,也可以用 \(c_k\) 算。总时间复杂度 \(O(n \log ^ 2 n)\)

posted @ 2026-09-07 17:45  Pizza1123  阅读(13)  评论(1)    收藏  举报