MTT小结
前言 随便乱写,意识流警告,反正只是当个板子 因为要写long double所以可能比普通7次的FFT还要慢?! 站在常数的底端.jpg MTT 假设我们要求 A ( x ) ∗ B ( x ) A(x)*B(x) A ( x ) ∗ B ( x ) 先把P拆成 P \sqrt P P ,每个数拆成 a ∗ p + b a*\sqrt p+b a ∗ p + b ,然后分别求FFT,最后组合起来 这样要7次 我们可构造 P ( x ) = A ( x ) + i B ( x ) , Q ( x ) = A ( x ) − i B ( x ) P(x)=A(x)+iB(x),Q(x)=A(x)-iB(x) P ( x ) = A ( x ) + i B ( x ) , Q ( x ) = A ( x ) − i B ( x ) 可以发现 Q ( ω k ) = c o n j ( P ( ω n − k ) ) Q(\omega^k)=conj(P(\omega^{n-k})) Q ( ω k ) = c o n j ( P ( ω n − k ) ) 于是我们只需要对P求一遍DFT就知道了对Q求DFT的结果 然后知道了P和Q的点值我们就能还原A和B的点值 然后构造 M = A ( x ) + i B ( x ) M=A(x)+iB(x) M = A ( x ) + i B