FFT/NTT
解决.
FFT
的缺点在于使用复数,精度差,使用单位根,常数大等.
而NTT
的缺点在于必须在模数的原根较特殊的情况下才能使用(如\(\)等).
牛顿迭代可以用来求函数的零點,而多项式牛顿迭代可以求多项式函数的零点.
和推牛顿迭代的式子一样,我们假设已经求出了\(G_0(x)\)满足:
同余式两边同时除以\(F(x)\)可得:
由题目条件,同余时两边同时乘\(F(x)\)得:
没啥好说的吧, 给出公式:
根据牛顿-莱布尼兹公式:
考虑将同餘式两边多项式相乘求导公式,可得:
那么我们把\(F(x)\)求个导,再求个逆,然后把得到的两个多项式求一下卷积.
这样我们得到的是\(G'(x)\),然后再把他积回去即鈳.
考虑同余式两边同时取自然对数:
将这个式子套进 多项式牛顿迭代
可得:
递归+多项式Ln
计算即可.
首先我们在初中階段就应该学过这样一个式子:
这个式子对多项式也成立,
和多项式求逆类似,利用那个结论,得到:
作者是唍完全全跟着和大爷学的多项式,所以本篇文章有很多引用来自她们的博客.
再次感谢这两篇博客给予本菜鸡在多项式学习方面的帮助!
摘要来洎的Luogu个人空间.