多项式右复合的一些特殊情况
下文中的“复合”默认为右复合。
复合 \(x+c\):
展开后差卷积。
复合 \(e^x\):
只需计算 \(\sum_i\frac{a_i}{1-ix}\),分治通分即可。
复合 \(\sqrt{1+x}\):
对于偶数项,我们可以先复合 \(\sqrt{x}\)(将 \(2k\) 乘系数后平移到 \(k\)),再右复合 \(1+x\)。
对于奇数项,使用二项式定理:
卷积即可。
复合 \(ax^2+bx+c\):
我们取系数 \(\alpha,\beta,\gamma\),并进行:复合 \(x+\gamma\),复合 \(\alpha x\),复合 \(x^2\)(这一步只需将 \(k\) 处系数移动到 \(2k\) 处),复合 \(x+\beta\),于是 \(F(x)\) 会变为 \(F((\alpha(x+\gamma))^2+\beta)\),解下方程就好了(而且显然有解)。
复合 \(\frac{1}{dx^2+ex+f}\):
我们记 \(F^R\) 为 \(F\) 系数翻转后的多项式,注意到 \(F^R=x^{|F|}F(\frac 1x)\)(这是差卷积)。
利用这一性质,我们可以直接翻转系数并复合 \(dx^2+ex+f\),最后除以 \((dx^2+ex+f)^n\)。这一步并不需要求逆,因为我们有:
整理后可以得到递推式,可以线性求解。
复合 \(\frac{ax+b}{cx+d}\):
取系数 \(\alpha,\beta,\gamma,\delta\),翻转系数,复合 \(\alpha x+\beta\) 得到 \(x^nF(\frac{1}{\alpha x+\beta})\),翻转系数并复合 \(\gamma x+\delta\) 得到 \(F(\frac{\gamma x+\delta}{\alpha+\beta {\gamma x+\delta}})\),解方程即可。
复合 \(\frac{(x+b)^2}{dx^2+ex+f}\):
不妨先求得 \(\frac{x^2}{dx^2+(e-2db)x+(f-db^2-eb)}\) 并最后复合 \(x+b\),记新的分式为 \(\frac{x^2}{dx^2+e'x+f'}\),使用上面的方法将分式取倒数:
而 \(F^R(d+\frac{e'}{x}+\frac{f'}{x^2})\) 仍然可以通过该公式求得:
括号内的部分可以通过上文的方法求得,于是我们完成了复合。
实现中由于要使用截断,需注意一个细节:我们应先完成平移再乘上 \((\frac{1}{d(x+b)^2+e'(x+b)+f'})^n=(\frac{1}{dx^2+ex+f})^n\),因为该式有无限项,乘上它之后必定要截断,而复合 \(+b\) 是向下的差卷积,截断会忽略有贡献的项。
复合 \(\frac{ax^2+bx+c}{dx^2+ex+f}\):
我们的目标是将分式形式化为前一部分所述的形式。
取系数 \(\lambda\),将多项式平移 \(\lambda\) 得到:
我们若使得 \(\frac{2a\lambda+b}{a\lambda^2+b\lambda+c}=\frac{2d\lambda+e}{d\lambda^2+e\lambda+f}\),那么我们便可减去一常数使分式上方仅剩二次项。
令 \(\lambda\) 为 \((ae-bd)\lambda^2+2(af-cd)\lambda+(bf-ce)=0\) 的解(无解需要扩域),那么可平移常数 \(\lambda=\frac{2a\lambda+b}{2d\lambda+e}\)(易证其存在性),化为前一种情况。
复合 \(ax^3+bx^2+cx+d\):
取系数 \(\alpha,\beta,\gamma\),并复合 \(ax+\gamma\),\(x^3+\beta x\)(假设我们能做),\(x+\alpha\),容易解出一组符合的系数,因此问题变为复合 \(x^3+cx\)。
事实上我们只需解决任意 \(c_0\ne 0\) 的情况,因为可以取系数 \(\eta,\theta\) 作复合 \((\eta x)\circ(x^3-c_0x)\circ(\theta x)\)(无解时需扩域)。
不妨取 \(c=-3\) 这一问题,而我们有:
让我们继续拆分 \((1+\frac 1x)^{\langle-1\rangle}\):
复合 \(\sqrt x\) 需要手动维护 \(x^{k+\frac12}\) 次项。
参考资料:
- 浅谈多项式复合和拉格朗日反演 by alpha1022
- 任意二次分式均可于 nlogn 时间复合 by 飞雨烟雁
- 关于三次多项式复合的一个注记 by EI
- conversations with ei,alpha1022