多项式科技的n方求法
不用多项式科技,只用推式子,好耶!
比较通用的思路就是转化成已知两个多项式相卷的结果和其中一个求剩下一个,这个原本我们是可以用分治 \(\text{fft}\) 或者多项式求逆来搞的,但是这里我们就考虑暴力扫描我们已经填入的位置对当前位置的贡献,计算出当前位置的值。
求逆
直接同通用思路。
ln
\[\ln(F(x))=G(x)\\
\frac{F'(x)}{F(x)}=G'(x)\\
F'(x)=F(x)G'(x)\\
[x^{n}]F'(x)=\sum_{i=0}^{n}[x^{i}]F(x)[x^{n-i}]G(x)\\
(n+1)[x^{n+1}]F(x)=\sum_{i=0}^n[x^i]F(x)[x^{n-i}G(x)]\\
\]
exp
\[\exp(F(x))=G(x)\\
F(x)=\ln(G(x))\\
F'(x)=\frac{G'(x)}{G(x)}\\
F'(x)G(x)=G'(x)\\
\]
这里便不是通用思路,我们考虑已知 \(G(x)\) 的前 \(n\) 位,我们即可求出 \(G'(x)\) 的第 \(n\) 位,然后利用这一位得到 \(G(x)\) 的第 \(n+1\) 位,搞定。
而且,上面的东西应该都是可以用分治 \(\text{fft}\) 来优化的。