【XSY4378】vanity(生成函数,拉格朗日反演)

题面

vanity

题解

关键在于对所有的 \(k\) 求:

\[[x^n]\left(x(e^x-1)\right)^k \]

考虑使用拉格朗日反演,对于形式幂级数 \(H(x)\)\(F(x)=x+O[x]^2\),有:

\[[x^n]H(F(x))=\frac{1}{n}[x^{-1}]H'(x)G(x)^{-n} \]

\(H(x)=x^k\),为了凑出 \(F(x)=x+O[x]^2\) 的形式,若把原来的式子转化成 \([x^{n-k}](e^x-1)^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} \]

这时你发现 \([x^{n-k}]\left(\dfrac{x}{\ln(1+x)}\right)^{n-k}\) 对于多个 \(k\) 来说并不好求。

事实上,正确的方法应该令 \(f=\sqrt{x(e^x-1)}\),把原来的式子转化成 \([x^n]f^{2k}\),再施拉格朗日反演:

\[\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} \]

于是只需求出 \(g=f^{<-1>}\) 即可。

此时看起来 \(g\) 并没有简洁的写法,但实际上我们可以通过牛顿迭代解出 \(g\)

\[\sqrt{g(e^g-1)}=x\\g(e^g-1)-x^2=0 \]

\(F(g)=g(e^g-1)-x^2\),解 \(F\) 的零点即可。

posted @ 2022-10-31 07:47  ez_lcw  阅读(90)  评论(0编辑  收藏  举报