【題目大意】
給出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的正整...