重修 多项式
作者:互联网
乘法逆
给定一个多项式 \(F(x)\),请求出一个多项式 \(G(x)\), 满足 \(F(x) * G(x) \equiv 1 \pmod{x^n}\)。
系数对 \(998244353\) 取模。
为方便 NTT 和倍增,不妨设 \(n\) 为 \(2\) 的幂。最后将 \(G(x)\) 的 \(0,\dots,(n-1)\) 次项输出即可。
最后推出的柿子是一样的,但是我们有两种证明方法。
倍增
首先,若 \(n=1\),答案为 \([x^0]F(x)\) 的乘法逆元。
假设我们求出了 \(\bmod x^{n/2}\) 的逆,设为 \(G'(x)\)。
接下来就是柿子环节
\[\begin{aligned} F*G'&\equiv 1\pmod{x^{n/2}} \\ F*G&\equiv 1\pmod{x^n} \\ G-G'&\equiv 0\pmod{x^{n/2}} \\ (G-G')^2&\equiv 0\pmod{x^n} \\ G^2-2GG'+G'^2&\equiv 0\pmod{x^n} \\ F(G^2-2GG'+G'^2)&\equiv 0\pmod{x^n} \\ G-2G'+FG'^2&\equiv 0\pmod{x^n} \\ G&\equiv (2-FG')G'\pmod{x^n} \end{aligned}\]我们就得到了递推式。
牛迭
注意多项式项数 / 边界等细节,可看注释。
时间:
\[T(n)=T(\frac{n}{2})+n\log n \]由主定理,时间复杂度为 \(O(n\log n)\)。
标签:log,pmod,多项式,重修,FG,equiv,乘法 来源: https://www.cnblogs.com/zhangshaojia/p/16411101.html