关键在于对所有的 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
这时你发现 [ 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
于是只需求出 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 的零点即可。