前置知识:泰勒展开,多项式求逆
作用:解自变量为多项式的函数零点(人话:解方程)
已知 G(F(x))≡0(modxn)
老倍增思路了:
G(F0(z))≡0(modx⌈n2⌉)
将G(F(x))在F0(x)处泰勒展开,得:
G(F(x))=G(F0(x))+G′(F0(x))1!(f(x)−f0(x))+G′′(F0(x))2!(f(x)−f0(x))2+...
因为F(x)和F0(x)的最后⌈n2⌉项相同,均为0。
所以(F(x)−F0(x))2最低非0项次数大于2⌈n2⌉
因此泰勒公式中平方以后的就被截断了,只剩下前两项:
G(F(x))≡G(F0(x))+G′(F0(x))(F(x)−F0(x))(modxn)
又因为:G(F(x))≡0(modxn)
F(x)≡F0(x)−G(F0(x))G′(F0(x))(modxn)
注意这里G的求导是对x的,以后遇到解复合函数方程的,求个倒带入上面的公式就搞定了。
复杂度:T(n)=T(n2)+O(nlog2n)=O(nlog2n)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人