P4705 玩游戏 题解
P4705 玩游戏 题解
相当有意思的一道题。
通过这道题你可以学到:
-
提取多项式的部分进行求解的思路。
-
分式的暴力合并。
-
积分求导化解不能推导的式子。
下面是正文:
用二项式定理 \(k\) 次价值答案等于
\[f_k=\frac{k!}{nm}\sum_{p=0}(\sum_{i=1}^n\frac{a_i^p}{p!})(\sum_{i=1}^m\frac{b_i^{k-p}}{(k-p)!})
\]
设
\[A(x)=\sum_{p=0}(\sum_{i=1}^n\frac{a_i^p}{p!})x^p,B(x)=\sum_{p=0}(\sum_{i=1}^m\frac{b_i^p}{p!})x^p
\]
则答案为
\[f_k=\frac{k!}{nm}[x^k]A\times B
\]
现在要求 \(A,B\),以 \(A\) 为例,首先不难看出:
\[\begin{aligned}
A(x)&=\sum_{p=0}(\sum_{i=1}^n\frac{a_i^p}{p!})x^p\\
&=\sum_{i=1}^n\sum_{p=0}\frac{a_i^p}{p!}x^p\\
&=\sum_{i=1}^ne^{a_ix}
\end{aligned}
\]
然后就推不动了。
所以换个思路,考虑求 \(c_p=\sum_{i=1}^n a_i^p\)。
设
\[\begin{aligned}
C(x)&=\sum_p\sum_{i=1}^n a_i^px^p\\
&=\sum_{i=1}^n\frac1{1-a_ix}
\end{aligned}
\]
可以这样暴力计算分式:
\[\frac{A(x)}{B(x)}+\frac{C(x)}{D(x)}=\frac{A(x)D(x)+B(x)C(x)}{B(x)D(x)}
\]
即分别维护分子分母,但这样常数巨大。
于是考虑积分求导。
\[\int C(x)dx=\sum_{i=1}^n-\ln(1-a_ix)a_i
\]
这不好,如果没有 \(-a_i\),就可以把求和放进 \(\ln\) 变乘积做了,所以考虑将其化掉,设:
\[D(x)=\sum_{i=1}^n\frac{-a_i}{1-a_ix}
\]
这样 \(D=\frac{C-n}{-x}\),且实现了:
\[\begin{aligned}
\int C(x)dx&=\sum_{i=1}^n\ln(1-a_ix)\\
&=\ln(\prod_{i=1}^n(1-a_ix))
\end{aligned}
\]
分治乘即可解决。

浙公网安备 33010602011771号