唔看了算導和乙個講的很清楚的部落格
我只是做了下筆記,盡量簡潔一點寫吧。
這樣複雜度就是
好像發現了驚天大秘密qwq 它們的位置是顛倒的誒!
怎麼計算rev陣列呢?
for (int i=1;i
i++)
rev[i]=rev[i>>1]>>1 | ((i&1) << l-1);
再看一下迭代的過程
最後貼一下**(uoj 34 模板題)
#include
#define n 300010
#define pi acos(-1)
using
namespace
std;
int n,m,l,rev[n];
complex
a[n],b[n],c[n];
template
inline
void read(aqua &s)
void pre()
void fft(complex
*a,int f)
}}int main()
講完啦
運用下次再寫吧qwq
upd by 2018.2.9
附上ntt模板(uoj34)
#include
#define n 300010
#define p 998244353
#define ll long long
using namespace std;
int n,m,l,rev[n],a[n],b[n],c[n];
void pre()
ll mpow(ll a,ll b)
void fft(int
*a,int f)
}} if (f==-1)
for (int i=0;i*mpow(n,p-2)%p;
}int main()
快速傅利葉變換FFT
fft的作用就不多說了,搞訊號處理的人都會用上。fft的由來 傅利葉變換ft 離散傅利葉變換dft 快速傅利葉變換fft。學習資料 1 陳後金的 數字訊號處理 裡面深入淺出,該有的公式都有,程式設計思想也有。2 一篇系統講述傅利葉變換的帖子 3 學生對fft的理解 4 工程人員對fft的簡單明瞭的總...
快速傅利葉變換 FFT
bzoj 2179 fft快速傅利葉 果題 bzoj2194 請計算c k sigma a i b i k 其中 k i n 並且有 n 10 5。a,b中的元素均為小於等於100的非負整數。注意到i 和 i k有奇妙的聯絡 不妨嘗試把b翻轉 然後就變成卷積了。貼個模板 include define...
快速傅利葉變換 FFT
首先說一下我用fft做什麼,我要做的是多項式乘法,或者說,加速多項式乘法。考慮多項式a x j 0n 1aj xj,它一共有 n 項,我們稱它的次數界為 n。假設我們有兩個次數界為 n 的多項式a x 和b x 要求它們的和是非常簡單的,只需要將對應的係數相加,複雜度為o n 如果要求他們的積,則需...