complex的解释
a[i].x , a[i].y 用 a b 来表示
a[i] 就是 a + bi
表示将 n 的单位负数根的 i 次幂代入多项式求出来的值
struct cp {
double x, y;
cp (double xx = 0, double yy = 0) {
x = xx, y = yy;
}
};
蝴蝶效应的解释
一次复数乘法需要运算4次,考虑简化
算过的存起来就行了
for(register int i = 0; i < (u >> 1); i++, w = w * wn) {
cp tmp = w * a2[i];//蝴蝶效应
a[i] = a1[i] + tmp;
a[i + (u >> 1)] = a1[i] - tmp;
}
迭代方法的解释
n为2的k次幂
分为log段,长度为 1、2、4、8、16……
每段计算
inline void FFT(cp *a, int d) {
for(int i =