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)\)。

浙公网安备 33010602011771号