Discrete Fourier transform DFT
离散傅里叶变换 ——一种过程
InverseDiscreteFourierTransform IDFT
离散傅里叶逆变换
Fast Fourier Transformation FFT
快速傅里叶变换 ——一种算法
FFT 在ACM 中解决啥呢
多项式乘法
A*B=C
A = a0 + a1 x^1 + a2 x^2 + a(n-1) x^(n-1)
B = b0 + ...
C = c0 + ... +c(n-1) x^(n-1) + cn x^n + ... +c(2n-1) x^(2n-1)
计算需要
把 A 和 B 都添加 n 个 系数为 0 的项 —— 0 x^n 0 x^(n+1) .. 0 ^x(2n-1)
我们知道
朴素算法,两两相乘,求出 c0 to c2(n-1) 需要 O(n^2)的时间
而利用 傅里叶 什么的 可以 达到 O(n log n )
听起来不可思议……
我们知道
对于一组
A = a0 + a1 x^1 + a2 x^2 + a(n-1) x^(n-1)
有如下表示方法
1、向量 ( a0 , a1 , a2 ... a(n-1) )
2、神奇的点表示法