快速多项式全家桶

加法

\(H(x)=F(x)+G(x)\)

Sol:

直接加,\(O(n)\)

乘法

\(H(x)=F(x)G(x)\)

Sol:

直接上\(\mathrm{FFT}\)或者\(\mathrm{NTT}\)\(O(n\log n)\)

求导&积分

同暴力多项式全家桶部分,略。\(O(n)\)

求逆

\(F(x)G(x)\equiv 1\pmod{x^n}\)

\(G(x)\)

Sol:

化式子:\(\frac{1}{G(x)}-F(x)=0\)

首先\([x^0]G(x)=\frac{1}{[x^0]F(x)}\)很好求。

然后带入牛顿迭代的式子得到:

\[G_{k+1}(x)\equiv G_k(x)-\frac{\frac{1}{G_k(x)}-F(x)}{-\frac{1}{G_k^2(x)}}\pmod{x^{2k+1}} \]

化简一下得到:

\[G_{k+1}(x)\equiv 2G_k(x)-G_k^2(x)F(x)\pmod{x^{2k+1}} \]

\(G_{k+1}(x)\equiv G_k(x)(2-G_k(x)F(x))\pmod{x^{2k+1}}\)

倍增即可。\(O(n\log n)\)

取模

\(F(x)=Q(x)G(x)+R(x)\)

\(Q(x),R(x)\)

Sol:

\(n=\deg F,m=\deg G\)

那么\(\deg Q=n-m,\deg R=m-1\)

\(rF(x)=x^nF(\frac{1}{x})\),即把\(F(x)\)的系数翻转后的函数。

同理有\(rG(x)=x^mG(\frac{1}{x}),rQ(x)=x^{n-m}Q(\frac{1}{x})\)

容易得到\(rF(x)\equiv rQ(x)rG(x)\pmod{x^{n-m+1}}\)

证明上式:

\(F(x)=Q(x)G(x)+R(x)\)

\(F(\frac{1}{x})=Q(\frac{1}{x})G(\frac{1}{x})+R(\frac{1}{x})\)

于是\(x^nF(\frac{1}{x})=x^{n-m}Q(\frac{1}{x})x^mG(\frac{1}{x})+x^nR(\frac{1}{x})\)

这也就是\(rF(x)=rQ(x)rG(x)+x^{n-m+1}R(x)\)

注意到\(x^{n-m+1}R(x)\)的最低次项的次数不低于\(n-m+1\),且\(n-m+1>n-m=\deg Q\)

\(rF(x)\equiv rQ(x)rG(x)\pmod{x^{n-m+1}}\)

于是通过求逆就可以求出\(rQ(x),Q(x)\),更进一步将\(Q(x)\)代入原式便可算出\(R(x)\)

\(O(n\log n)\)

开根

\(G^2(x)\equiv F(x)\pmod{x^n}\)

\(G(x)\)

Sol:

化式子:\(G^2(x)-F(x)\equiv 0\pmod{x^n}\)

带入牛顿迭代的式子:

\[G_{k+1}\equiv G_k(x)-\frac{G_k^2(x)-F(x)}{2G_k(x)}\pmod{x^{2k+1}} \]

直接求就可以,或者再稍微化简:

\[G_{k+1}\equiv \frac{G_k(x)}{2}+\frac{F(x)}{2G_k(x)}\pmod{x^{2k+1}} \]

关于\([x^0]G(x)\)的讨论同暴力多项式全家桶部分,不再赘述。

\(O(n\log n)\)

\(\ln\)

\(G(x)\equiv \ln F(x)\pmod{x^n}\)

保证\(f_0=1\),求\(G(x)\)

Sol:

两边求导:\(G'(x)=F'(x)F^{-1}(x)\)

求出\(G'(x)\),再积回去即可,注意\(g_0=\ln f_0=0\)

\(\exp\)

\(G(x)\equiv e^{F(x)}\pmod{x^n}\)

保证\(f_0=0\),求\(G(x)\)

Sol:

两边取\(\ln\)再化简得\(\ln G(x)-F(x)\equiv 0\pmod{x^n}\)

代入牛顿迭代式子有:

\[G_{k+1}(x)\equiv G_k(x)-\frac{\ln G(x)-F(x)}{G^{-1}(x)}\pmod{x^{2k+1}} \]

化简得到:

\[G_{k+1}(x)\equiv G_k(x)(1-\ln G_k(x)+F(x))\pmod{x^{2k+1}} \]

\(O(n\log n)\)

注意这里要多次求\(\ln\),记得清空。

三角函数

同暴力多项式全家桶部分套用公式,并使用多项式\(\exp\)即可。不再赘述。

或许要用个二次剩余。

posted @ 2025-03-26 09:53  RandomShuffle  阅读(48)  评论(0)    收藏  举报