营业日志 2020.5.20

今有 uoj 群友问到,如下式子如何快速计算:
[ x n ] 1 i = 0 m ( 1 ( u + v i ) x ) [x^n] \frac{1}{\prod_{i=0}^m (1 - (u+vi)x)}
我想了想,觉得这就是
[ x n ] 1 i = 0 m ( 1 ( u + v i ) x ) = [ x n + m ( n + m ) ! ] e u x ( e v x 1 ) m m ! v m = 1 m ! v m k = 0 m ( m k ) ( 1 ) m k ( u + k v ) n + m \begin{aligned}[x^n] \frac 1{\prod_{i=0}^m (1-(u+vi)x)}&=\left[\frac{x^{n+m}}{(n+m)!}\right] \frac{\mathrm e^{ux} (\mathrm e^{vx}-1)^m}{m! v^m}\\&= \frac1{m!v^m} \sum_{k=0}^m \binom {m}{k} (-1)^{m-k} (u+kv)^{n+m}\end{aligned}
怎么解释呢?思考一番,大概有以下四条路:

其一,组合意义:我们给这个东西编一个组合意义:
( v x ) m i = 0 m ( 1 ( u + v i ) x ) = 1 1 u x v x 1 ( u + v ) x v x 1 ( u + m v ) x \frac {(vx)^m}{\prod_{i=0}^m (1-(u+vi)x)} = \frac1{1-ux} \frac{vx}{1-(u+v)x} \cdots \frac {vx}{1-(u+mv)x}
那么这是个啥呢?这大概就是说每个球首先在一个集合里,这个集合的 id 是 0 m 0 \sim m 的,然后他在 0 0 号集合就有 u u 种颜色可以选,否则有 v v 种颜色可以选。其中 1 m 1\sim m 这些集合都被要求了至少有一个球。这 m m 个集合又被认为是不可区分的。

这么一来,上面那个 EGF 容斥就是很明显的了。

其二,线性递推方面的考虑:

首先原式是一个求逆的形式,显然是一个线性递推,而且是 m + 1 m+1 阶的。所以 x m i = 0 m ( 1 ( u + v i ) x ) \frac {x^m}{\prod_{i=0}^m (1-(u+vi)x)} 必然仍然是线性递推的。而如果想要转为 EGF,那么由于原式的特征根不重复,我们知道这必然是化为 λ k e ( u + v k ) x = e u x λ k e v k x \sum \lambda_k \mathrm e^{(u+vk)x} = \mathrm e^{ux} \sum \lambda_k \mathrm e^{vkx} 的形式。为了让前面的项都是 0 0 ,只好用 c e u x ( e v x 1 ) m c \mathrm e^{ux} (\mathrm e^{vx}-1)^m 的形式然后待定系数。

其三,分式分解:

根据分式分解系数 R i ( x ) = P ( x ) [ Q ( x ) / q i ( x ) m o d q i ( x ) ] 1 m o d q i ( x ) R_i(x) = P(x) \left[Q(x)/q_i(x) \bmod q_i(x)\right]^{-1} \bmod q_i(x) ,也就是
R i = [ j i ( 1 u + v j u + v i ) ] 1 = j i u + v i ( i j ) v = ( u + v i ) m ( 1 ) m i v m i ! ( m i ) ! \begin{aligned}R_i &= \left[\prod_{j\neq i} \left(1 - \frac{u+vj}{u+vi}\right)\right]^{-1}\\&= \prod_{j\neq i} \frac{u+vi}{(i-j)v}\\&=\frac{(u+vi)^m (-1)^{m-i}}{v^m i! (m-i)!}\end{aligned}
也是一致的。

其四,代数方法:

事实上我们通过两个公式可以构造 x n x n n ! x^n \Leftrightarrow \frac{x^n}{n!} 的线性映射。

x n n ! \frac {x^n}{n!} x n x^n 的通过欧拉积分 0 t n e t d t = n ! \int_0^\infty t^n\mathrm e^{-t}\, \mathrm d t = n! 导出。这给出了 Laplace-Borel 变换(似乎又叫组合 Laplace 变换)
0 F ( x t ) e t d t = n n ! x n [ x n ] F ( x ) \int_0^\infty F(xt)\mathrm e^{-t} \,\mathrm d t = \sum_n n!x^n [x^n]F(x)
而反过来,我们首先要考虑一个环路积分构造,结合指数函数 [ x n ] e x = 1 n ! [x^n]\mathrm e^x = \frac 1 {n!} 来完成:(也叫做组合 Borel 变换)
1 2 π π π F ( z e i ϑ ) e e i ϑ d ϑ = 1 2 π i ζ = 1 e ζ F ( z ζ ) ζ d ζ = n x n n ! [ x n ] F ( x ) \frac 1{2\pi} \int_{-\pi}^\pi F(z\mathrm e^{-\mathrm i \vartheta}) \mathrm e^{\mathrm e^{\mathrm i \vartheta}} \mathrm d \vartheta = \frac 1{2\pi \mathrm i} \int_{|\zeta|=1} \frac{\mathrm e^\zeta F\left(\frac z \zeta\right)}\zeta \mathrm d \zeta = \sum_n \frac{x^n}{n!} [x^n]F(x)
留数我不太懂,但是参考这个,感觉在这种情况上的具体计算过程和分式分解是类似的。

猜你喜欢

转载自blog.csdn.net/EI_Captain/article/details/106243485