「atcoder

link


如果规定边的方向,问题变成了有向欧拉图的欧拉路计数(假设边有编号,最后方案数除以阶乘即可)。

套 BSET 定理变成生成树计数,直接分类讨论树的形态即可 (O(1)) 计算。

然后发现边的方向只有 (O(n)) 种可能,因此就可以做到 (O(n)) 的复杂度。

submission


然后又到了喜闻乐见的 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中,往往关系比形式重要”。

没关系,我们可以尝试根据题解逆向推导一下。考虑把分母展开:

[egin{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_nsum_i inom{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_nsum_i inom{n}{i}(-1)^{i}(x_a^2 + x_b^2 + x_c^2 + x_d^2)^{n-i}left(sum_j inom{2i}{j}(-1)^{j}x_b^{j}x_d^{j}x_a^{2i-j}x_c^{2i-j} ight) \ =& sum_isum_{j} inom{frac{a+b+c+d}{2}-i}{i}(-1)^{i}inom{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}}inom{2i}{j}(-1)^{j} \ =& sum_i inom{frac{a+b+c+d}{2}-i}{i}(-1)^{i}inom{frac{a+b+c+d}{2}-2i}{frac{a+b}{2}-i}sum_j(-1)^jinom{2i}{j}inom{frac{a+b}{2}-i}{frac{a+j}{2}-i}inom{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) 一致。

然后记:

[egin{aligned}[] F(z) &= sum_n f_nz^n = sum_j (-1)^j imesfrac{z^j}{j! imes(frac{b-j}{2})! imes(frac{d - j}{2})!}\ G(z) &= sum_n g_nz^n = sum_j frac{z^j}{j! imes(frac{a-j}{2})! imes(frac{c-j}{2})!} end{aligned} ]

则只需要求 ([z^{2i}]F(z) imes G(z)) 即可,那么至少可以做到 (O(nlog 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) imes G(z)) 是 d-finite 的。

然而我并不会推导整式递推的递归式,所以咕了。


所以可不可以多元拉反啊,不是很懂这套理论。

原文地址:https://www.cnblogs.com/Tiw-Air-OAO/p/14440147.html