多项式学习笔记
啊?
“做多项式题就像ke药,出多项式题就像fan毒。” —— 可爱小粉兔
“以快速傅里叶变换为基石的多项式算法赋予了算法竞赛选手直接操纵生成函数的能力。”—— 摘自 OI-wiki
FFT 与 NTT
在多项式题目中,使用快速傅里叶变换、快速数论变换来加速运算或卷积是十分常见的。
它们能通过分治来加速卷积是运用到了复数和原根的奇妙特性。
在
可是计算一个点值的时间是
转换成多项式的拉格朗日插值也是
而离散傅里叶变换可以在
这就需要一些多项式推导和分治思想。
有
复数 与 原根
首先是复数。
可以发现单位复根在坐标系中的半径为
算法的基本思想是分治。分治求当
举个例子,对于一共
按照次数的奇偶来分成两组,然后右边提出来一个
分别用奇偶次次项数建立新的函数:
那么原来的
到目前为止可能还无法瞥见单位复根的作用,其实单位复根在这里是这样的:
利用
可以知道在复平面上
得到:
和:
一加一减。
因此我们求出了
只有复数域中才能构造出这样美丽的值代入。
这样就省去了一半的计算量,递归下去算出一个点就只需要
一般
原根怎么你了?
阶
由欧拉定理可知,对
因此满足同余式
可以用阶类比平方。
原根
设
即
当
从这里就可以看出,原根很像单位复根。
例如
数论变换(
具体来说,对于质数
比如
因为有:
所以用
把
多项式基础
多项式取模,多项式求逆,多项式除法,多项式开根,多项式快速幂,多项式ln
这些东西都别急。
分治 FFT/NTT
例题:现有一转移式形如
首先直接算
发现
可以使用分治,将
具体的,设左为
则有
其中
所以左边对右边的所有点的贡献均可以在一次多项式乘法中得出。
用CDQ的形式,总复杂度
生成函数
你先别急。
《具体数学》怎么你了?
在系统学习多项式之前我一直难以理解生成函数,不知道它的构造方法,含义以及用途。
生成函数(generating function),又称母函数,是一种形式幂级数,其每一项的系数可以提供关于这个序列的信息。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App