「atcoder - AGC051D」C4
link。
如果规定边的方向,问题变成了有向欧拉图的欧拉路计数(假设边有编号,最后方案数除以阶乘即可)。
套 BSET 定理变成生成树计数,直接分类讨论树的形态即可 \(O(1)\) 计算。
然后发现边的方向只有 \(O(n)\) 种可能,因此就可以做到 \(O(n)\) 的复杂度。
然后又到了喜闻乐见的 GF 时间。我们先快进到:
\[[x_a^ax_b^bx_c^cx_d^d]F(x_a, x_b, x_c, x_d) = \frac{1 - x_b^2 - x_c^2}{1 - ((x_a^2 + x_b^2 + x_c^2 + x_d^2) - (x_ax_c - x_bx_d)^2)}
\]
然后就被 EI 教导说 “在多元GF中,往往关系比形式重要”。
没关系,我们可以尝试根据题解逆向推导一下。考虑把分母展开:
\[\begin{aligned}[]
& [x_a^ax_b^bx_c^cx_d^d] \sum_n((x_a^2 + x_b^2 + x_c^2 + x_d^2) - (x_ax_c - x_bx_d)^2)^n \\
=& [x_a^ax_b^bx_c^cx_d^d] \sum_n\sum_i \binom{n}{i}(-1)^{i}(x_a^2 + x_b^2 + x_c^2 + x_d^2)^{n-i}(x_ax_c - x_bx_d)^{2i} \\
=& [x_a^ax_b^bx_c^cx_d^d] \sum_n\sum_i \binom{n}{i}(-1)^{i}(x_a^2 + x_b^2 + x_c^2 + x_d^2)^{n-i}\left(\sum_j \binom{2i}{j}(-1)^{j}x_b^{j}x_d^{j}x_a^{2i-j}x_c^{2i-j}\right) \\
=& \sum_i\sum_{j} \binom{\frac{a+b+c+d}{2}-i}{i}(-1)^{i}\binom{\frac{a+b+c+d}{2}-2i}{\frac{a+j}{2}-i,\frac{b-j}{2},\frac{c+j}{2}-i,\frac{d-j}{2}}\binom{2i}{j}(-1)^{j} \\
=& \sum_i \binom{\frac{a+b+c+d}{2}-i}{i}(-1)^{i}\binom{\frac{a+b+c+d}{2}-2i}{\frac{a+b}{2}-i}\sum_j(-1)^j\binom{2i}{j}\binom{\frac{a+b}{2}-i}{\frac{a+j}{2}-i}\binom{\frac{c+d}{2}-i}{\frac{c+j}{2}-i}
\end{aligned}
\]
注意 \(n = \frac{a + b + c + d}{2} - i\),以及 \(j\) 的奇偶性必须和 \(a, b, c, d\) 一致。
然后记:
\[\begin{aligned}[]
F(z) &= \sum_n f_nz^n = \sum_j (-1)^j\times\frac{z^j}{j!\times(\frac{b-j}{2})!\times(\frac{d - j}{2})!}\\
G(z) &= \sum_n g_nz^n = \sum_j \frac{z^j}{j!\times(\frac{a-j}{2})!\times(\frac{c-j}{2})!}
\end{aligned}
\]
则只需要求 \([z^{2i}]F(z)\times G(z)\) 即可,那么至少可以做到 \(O(n\log n)\) 然后这个东西确实长得很像题解中的式子。
然后又被 EI 教育说 “那个卷积可以用整式递推优化”。
可以发现 \((n + 2)(n + 1)g_{n + 2} = (\frac{a-n}{2})(\frac{c-n}{2})g_n\),那么 \(\{g_n\}\) 是 p-recursive 的,那么 \(G(n)\) 是 d-finite 的。
两个 d-finite 的幂级数乘起来仍然是 d-finite 的,因此 \(F(z)\times G(z)\) 是 d-finite 的。
然而我并不会推导整式递推的递归式,所以咕了。
所以可不可以多元拉反啊,不是很懂这套理论。