FFT与NTT
Posted Der Barde, Nietzsche
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FFT与NTT相关的知识,希望对你有一定的参考价值。
多项式:
多项式我也不懂。。。
多项式加法:
同类项系数相加;
多项式乘法:
A*B=C
$A=a_0x^0+a_1x^1+a_2x^2+...+a_ix^i+...+a_{n-1}x^{n-1}$
$B=b_0x^0+b_1x^1+b_2x^2+...b_ix^i+...+b_{m-1}x^{m-1}$
则
$C=c_0x^0+c_1x^1+c_2x^2+...c_ix^i+...+c_{m+n-2}x^{m+n-2}$
其中
$$c_k=\sum_{i+j=k}^{i<n,j<m}a[i]b[j]$$
我们又称其为多项式的卷积运算。
使用定义法,直接进行卷积运算的期望效率为$O(n^2)$
离散傅里叶变换(DFT):
一个n次多项式(这里定义为最高项指数为n-1)可以被其图像上n个不重的点表示
于是这N个有序数对被称为一个多项式的点值表达式
任意N个不重的有序数对皆可
随便找N个X坐标,依次求其Y坐标,使用(数学必修2称秦九韶算法|算导称霍纳法则)可得到单次$O(n)$整体$O(n^2)$的效率
差值:
一种通过多项式的点值表达式求其系数的方法;
常用的是拉格朗日差值法;
设多项式A的点值表达式为点集
{$(x_0,y_0),(x_1,y_1),...,(x_{n-1},y_{n-1})$}
则:
$$A(x)=\sum_{k=0}^{x-1}y_k{{\Pi_{j!=k}(x-x_j)}\over{\Pi_{j!=k}(x_k-x_j)}}$$
以上是关于FFT与NTT的主要内容,如果未能解决你的问题,请参考以下文章