前置知识:泰勒展开,多项式求逆

作用:解自变量为多项式的函数零点(人话:解方程)
已知 \(G(F(x))\equiv0\pmod{x^n}\)
老倍增思路了:
\(G(F_0(z))\equiv0\pmod{x^{\left\lceil\frac{n}{2}\right\rceil}}\)
\(G(F(x))\)\(F_0(x)\)处泰勒展开,得:
\(G(F(x))=G(F_0(x))+ \dfrac{G'(F_0(x))}{1!}(f(x)-f_0(x))+\dfrac{G''(F_0(x))}{2!}(f(x)-f_0(x))^2+...\)
因为\(F(x)\)\(F_0(x)\)的最后\(\left\lceil\frac{n}{2}\right\rceil\)项相同,均为0。
所以\((F(x)-F_0(x))^2\)最低非\(0\)项次数大于\(2\left\lceil\frac{n}{2}\right\rceil\)
因此泰勒公式中平方以后的就被截断了,只剩下前两项:

\(G(F(x))\equiv G(F_0(x))+G'(F_0(x))(F(x)-F_0(x))\pmod{x^n}\)

又因为:\(G(F(x))\equiv0\pmod{x^n}\)

\(F(x)\equiv F_0(x)-\dfrac{G(F_0(x))}{G'(F_0(x))}\pmod{x^n}\)

注意这里\(G\)的求导是对\(x\)的,以后遇到解复合函数方程的,求个倒带入上面的公式就搞定了。

复杂度:\(T(n)=T(\frac{n}{2})+O(nlog_2n)=O(nlog_2n)\)