题面
题解
关键在于对所有的 k k k 求:
[ x n ] ( x ( e x − 1 ) ) k [x^n]\left(x(e^x-1)\right)^k [xn](x(ex−1))k
考虑使用拉格朗日反演,对于形式幂级数 H ( x ) H(x) H(x) 和 F ( x ) = x + O [ x ] 2 F(x)=x+O[x]^2 F(x)=x+O[x]2,有:
[ x n ] H ( F ( x ) ) = 1 n [ x − 1 ] H ′ ( x ) G ( x ) − n [x^n]H(F(x))=\frac{1}{n}[x^{-1}]H'(x)G(x)^{-n} [xn]H(F(x))=n1[x−1]H′(x)G(x)−n
设 H ( x ) = x k H(x)=x^k H(x)=xk,为了凑出 F ( x ) = x + O [ x ] 2 F(x)=x+O[x]^2 F(x)=x+O[x]2 的形式,若把原来的式子转化成 [ x n − k ] ( e x − 1 ) k [x^{n-k}](e^x-1)^k [xn−k](ex−1)k,施拉格朗日反演可得:
[ x n − k ] ( e x − 1 ) k = 1 n − k [ x n − 1 ] k x k − 1 ( x ln ( 1 + x ) ) n − k = k n − k [ x n − k ] ( x ln ( 1 + x ) ) n − k \begin{aligned}[x^{n-k}](e^x-1)^k&=\frac{1}{n-k}[x^{n-1}]kx^{k-1}\left(\frac{x}{\ln(1+x)}\right)^{n-k}\\&=\frac{k}{n-k}[x^{n-k}]\left(\frac{x}{\ln(1+x)}\right)^{n-k}\end{aligned} [xn−k](ex−1)k=n−k1[xn−1]kxk−1(ln(1+x)x)n−k=n−kk[xn−k](ln(1+x)x)n−k
这时你发现 [ x n − k ] ( x ln ( 1 + x ) ) n − k [x^{n-k}]\left(\dfrac{x}{\ln(1+x)}\right)^{n-k} [xn−k](ln(1+x)x)n−k 对于多个 k k k 来说并不好求。
事实上,正确的方法应该令 f = x ( e x − 1 ) f=\sqrt{x(e^x-1)} f=x(ex−1),把原来的式子转化成 [ x n ] f 2 k [x^n]f^{2k} [xn]f2k,再施拉格朗日反演:
[ x n ] f 2 k = 1 n [ x n − 1 ] 2 k x 2 k − 1 ( x g ( x ) ) n = 2 k n [ x n − 2 k ] ( x g ( x ) ) n \begin{aligned}[x^n]f^{2k}&=\frac{1}{n}[x^{n-1}]2kx^{2k-1}\left(\frac{x}{g(x)}\right)^n\\&=\frac{2k}{n}[x^{n-2k}]\left(\frac{x}{g(x)}\right)^n\end{aligned} [xn]f2k=n1[xn−1]2kx2k−1(g(x)x)n=n2k[xn−2k](g(x)x)n
于是只需求出 g = f < − 1 > g=f^{<-1>} g=f<−1> 即可。
此时看起来 g g g 并没有简洁的写法,但实际上我们可以通过牛顿迭代解出 g g g:
g ( e g − 1 ) = x g ( e g − 1 ) − x 2 = 0 \sqrt{g(e^g-1)}=x\\g(e^g-1)-x^2=0 g(eg−1)=xg(eg−1)−x2=0
令 F ( g ) = g ( e g − 1 ) − x 2 F(g)=g(e^g-1)-x^2 F(g)=g(eg−1)−x2,解 F F F 的零点即可。