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

题面

vanity

题解

关键在于对所有的 k k k 求:

[ x n ] ( x ( e x − 1 ) ) k [x^n]\left(x(e^x-1)\right)^k [xn](x(ex1))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[x1]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 [xnk](ex1)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} [xnk](ex1)k=nk1[xn1]kxk1(ln(1+x)x)nk=nkk[xnk](ln(1+x)x)nk

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

事实上,正确的方法应该令 f = x ( e x − 1 ) f=\sqrt{x(e^x-1)} f=x(ex1) ,把原来的式子转化成 [ 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[xn1]2kx2k1(g(x)x)n=n2k[xn2k](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(eg1) =xg(eg1)x2=0

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值