FFT BZOJ2179 FFT快速傅利葉

2022-08-09 06:51:12 字數 910 閱讀 5320

【題目大意】

給出n位十進位制a和b,求a*b。

【思路】

fft。感覺弄起來比較麻煩,不如直接背板子。

注意一下maxn的取值,我一開始非常隨意地就寫了60000*2+50,其實n是要擴充套件到最接近的2的次冪的,所以要取到2^17

1 #include2 #include3 #include4 #include5 #include6 #include7

#define pi acos(-1)

8using

namespace

std;

9const

int maxn=131072+5

;10 typedef complexcom;

11int

n,m,l;

12com a[maxn],b[maxn];

13int

c[maxn],rev[maxn];

1415

void get_bit()

16void get_rtable()

17void multi(com* a,com* b)

1819

void fft(com* a,int

flag)

2034}35

}36if (flag==-1) for (int i=0;in;37}

3839

void

init()

4048

49void

solve()

5059

60void

print()

6172}73

for (int i=m-1;i>=0;i--) printf("%d"

,c[i]);74}

7576

intmain()

77

BZOJ 2179 FFT快速傅利葉(FFT)

description 給出兩個 n 位 10進製整數 x 和 y,你需要計算x y input 第一行乙個正整數 n 第二行描述乙個位數為 n的正整數 x 第三行描述乙個位數為 n的正整數 y n 60000 output 輸出一行,即x y 的結果。sample input1 3 4sample...

BZOJ2179 FFT快速傅利葉 FFT

給出兩個n位10進製整數x和y,你需要計算x y。第一行乙個正整數n。第二行描述乙個位數為n的正整數x。第三行描述乙個位數為n的正整數y。輸出一行,即x y的結果。13 412資料範圍 n 60000 fft模板題,做的時候注意處理一下進製和前導零就好 1 include2 include3 inc...

2179 FFT快速傅利葉

time limit 10 sec memory limit 259 mb submit 2803 solved 1431 submit status discuss 給出兩個n位10進製整數x和y,你需要計算x y。第一行乙個正整數n。第二行描述乙個位數為n的正整數x。第三行描述乙個位數為n的正整...