BZOJ 2179 FFT快速傅利葉

2021-07-14 01:38:25 字數 922 閱讀 2852

description

給出兩個n位10進製整數x和y,你需要計算x*y。

【題目分析】

fft裸題用來快速計算高精度的乘法,從n^2變成了n。其實不會,隨便抄了乙個模板。以後再慢慢學。

【**】

#include

using

namespace

std;

const

double pi=acos(-1.0);

int rev[200001],ans[200001],len,n,m;

char s[200001];

struct p

;} inline p operator -(p a) ;}

inline p operator *(p a) ;}

}a[200001],b[200001],c[200001];

inline

void fft(p *x,int n,int flag)//快速傅利葉變換

; for(int i=0;i1.0,0};int mid=m>>1;

for (int j=0;jint main()

fft(a,n,1);fft(b,n,1);//轉過去

for (int i=0;i//高效率高精度

fft(c,n,-1);//又回來

for (int i=0;i0.5;//精度誤差

for (int i=0;i1]+=ans[i]/10,ans[i]%=10;//進製

n++;

while (!ans[n]&&n) n--;//確定第乙個數的位置

for (int i=n;i>=0;--i) putchar(ans[i]+'0');//輸出

}

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...

BZOJ2179 FFT快速傅利葉

標籤 fft 題目傳送門 description 給出兩個n位10進製整數x和y,你需要計算x y。input 第一行乙個正整數n。第二行描述乙個位數為n的正整數x。第三行描述乙個位數為n的正整數y。output 輸出一行,即x y的結果。sample input 1sample output 12...