专栏文章

题解:P14454 [ICPC 2025 Xi'an R] Heart of Darkness

P14454题解参与者 2已保存评论 1

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
1 条
当前快照
1 份
快照标识符
@mina3n4b
此快照首次捕获于
2025/12/01 23:03
3 个月前
此快照最后确认于
2025/12/01 23:03
3 个月前
查看原文

题解

首先考虑算出不限制异色节点之间连边的方案数,再减去异色边小于 kk 的树的个数。
先考虑计算异色边数恰好kk 的情况,枚举黑点的数量 ii,可以得到其为 i=1n(ni)ii2(ni)![xkyni](exT(y))i\sum_{i=1}^n \binom{n}{i}i^{i-2} (n-i)! [x^k y^{n-i}](\text e^{xT(y)})^i
其中形式元 xx 计量异色边数,yy 计量白点数,T(y)T(y) 是有标号有根树数量的 EGF。
那么异色边小于 kk 的树的个数就是 Sk=n![yn]j=0k1T(y)jj!i=1ii2+ji!yiS_k=n![y^n] \sum_{j=0}^{k-1} \frac{T(y)^j}{j!}\sum_{i=1}^\infty \frac{i^{i-2+j}}{i!}y^i
由此也容易得到 kk \to \inftySkS_k(即不限制异色边数的答案)为
n![yn]i=1ii2i!(yeT(y))i=n![yn]i=1ii2i!T(y)in![y^n]\sum_{i=1}^\infty \frac{i^{i-2}}{i!}(y \text e^{T(y)})^i=n![y^n]\sum_{i=1}^\infty \frac{i^{i-2}}{i!}T(y)^i
然后使用另类 Lagrange 反演处理 SkS_k
Sk=n![xn]enx(1x)j=0k1xjj!i=1ii2+ji!(xex)iS_k=n![x^n] \text e^{nx}(1-x)\color{red}{\sum_{j=0}^{k-1}\frac{x^j}{j!} \sum_{i=1}^\infty \frac{i^{i-2+j}}{i!}(x\text e^{-x})^i}
ama_m 为红色部分的 [xm][x^m] 项系数,则对于 mkm\leq k 时,ama_m 显然是 mm2/m!m^{m-2}/m!,下面就只讨论 m>km > k 的情况:
am=j=0k11j!i=1mjii2+ji![xmj](xex)i=j=0k11j!i=1mjim2i!×(1)mji(mji)!=j=0k11j!{m2mj}\begin{aligned}a_m &=\sum_{j=0}^{k-1}\frac{1}{j!}\sum_{i=1}^{m-j}\frac{i^{i-2+j}}{i!}[x^{m-j}](x \text e^{-x})^i \\ &=\sum_{j=0}^{k-1}\frac{1}{j!} \sum_{i=1}^{m-j} \frac{i^{m-2}}{i!} \times \frac{(-1)^{m-j-i}}{(m-j-i)!} \\ &=\sum_{j=0}^{k-1}\frac{1}{j!} \begin{Bmatrix} m-2 \\ m -j\end{Bmatrix}\end{aligned}
根据 Stirling 多项式的性质(P8561)可知,ama_m 是关于 mm 不超过 2(k1)2(k-1) 次的多项式,也就是说其 GF 是一个分母为 (1x)2k1(1-x)^{2k-1} 的有理分式。所以在计算出 aka_k 的前 (2k1)(2k-1) 项之后,就可以用一次卷积快速求出其 GF。
现在就有:
Sk=n![xn]enx(1x)2k1P(x)S_k=n![x^n] \frac{\text e^{nx}}{(1-x)^{2k-1}}P(x)
其中 P(x)P(x) 是一个 Θ(k)\Theta(k) 次多项式(可能比分母高 22 次以内),此时可以直接以 Θ(n)\Theta(n) 的时间复杂度计算 SkS_k
具体地,简单求导可以得到 enx/(1x)2k1\text e^{nx}/(1-x)^{2k-1} 系数的整式递推式,这样就容易处理了。
总时间复杂度 Θ(n+k2)\Theta(n+k^2)。做到这个复杂度需要线性筛出 f(i)=iif(i)=i^i 的函数值,但时间常数较大,朴素地使用快速幂也是可以通过的。

后话

此题得到 Θ(n+k2)\Theta(n + k^2) 的复杂度做法后,总觉得不够优美,就试图找出更优的做法。可惜一直没有结果。
目前可以得到此问题的一些转化,如:
am=1(k1)!i=0k3ki{mi3mk}a_m=\frac{1}{(k-1)!}\sum_{i=0}^{k-3}k^i\begin{Bmatrix} m-i-3 \\ m-k\end{Bmatrix}
(k1)!am+k=1m!j=0m(mj)(1)mj(k+m)k2jmjm+k2m+kj(k-1)! a_{m+k} = \frac{1}{m!}\sum_{j=0}^m \binom mj (-1)^{m-j} \frac{(k+m)^{k-2}j^m-j^{m+k-2}}{m+k-j}
但这两个转化看起来都不是很有用... 该怎么办呢?

评论

1 条评论,欢迎与作者交流。

正在加载评论...