P3803 FFT求多項式係數

2022-05-21 02:11:15 字數 1966 閱讀 4922

傳送門:

這是一道fft模板題,求多項式係數

對a和b的係數求乙個fft,轉換為點乘式後

o(n)掃一遍直接算係數即可

對於多項式相加

\(\begin, y_\right),\left(x_, y_\right) \ldots\left(x_, y_\right)} \\ , y_^\right),\left(x_, y_^\right) \ldots .\left(x_, y_\right)}\end\)

\(a(x)+b(x)=\left(x_, y_+y_^\right),\left(x_, y_+y_^\right)\left(x_, y_+y_^\right)\)

對於多項式相乘,我們需要補上一些項使得最後乘的的係數個數為2n+1

\(\begin, y_\right),\left(x_, y_\right) \ldots\left(x_, y_\right)} \\ , y_^\right),\left(x_, y_^\right) \ldots .\left(x_, y_\right)}\end\)

\(a(x) b(x)=\left(x_, y_ y_^\right),\left(x_, y_ y_^\right)\left(x_, y_ y_^\right)\)

#include #include #include #include #include #include #include #include #include using namespace std;

typedef long long ll;

typedef pairpii;

typedef unsigned long long ull;

#define ls rt<<1

#define rs rt<<1|1

#define lson l,mid,rt<<1

#define rson mid+1,r,rt<<1|1

#define bug printf("*********\n")

#define fin freopen("input.txt","r",stdin);

#define fon freopen("output.txt","w+",stdout);

#define io ios::sync_with_stdio(false),cin.tie(0)

#define debug1(x) cout<<"["<<#x<<" "<<(x)<<"]\n"

#define debug2(x,y) cout<<"["<<#x<<" "<<(x)<<" "<<#y<<" "<<(y)<<"]\n"

#define debug3(x,y,z) cout<<"["<<#x<<" "<<(x)<<" "<<#y<<" "<<(y)<<" "<<#z<<" "<>= 1;

} return ans;

}struct complex

} a[maxn], b[maxn];

complex operator + (complex a, complex b)

complex operator - (complex a, complex b)

complex operator * (complex a, complex b)

int n, m;

int l, r[maxn];

int limit = 1;

void fft(complex *a, int type)

for(int mid = 1; mid < limit; mid <<= 1) }}

}int main()

fft(a, 1);

fft(b, 1);

for(int i = 0; i <= limit; i++)

fft(a, -1);

for(int i = 0; i <= n + m; i++)

printf("\n");

return 0;

}

P3803 FFT求多項式係數

傳送門 這是一道fft模板題,求多項式係數 對a和b的係數求乙個fft,轉換為點乘式後 o n 掃一遍直接算係數即可 對於多項式相加 begin,y right left x y right ldots left x y right y right left x y right ldots left...

P3803 模板 多項式乘法(FFT)

p3803 模板 多項式乘法 fft 給定乙個 n 次多項式 f x 和乙個 m 次多項式 g x 請求出 f x 和 g x 的卷積。從低到高輸出f x g x 的係數 另一種問法 如果有兩個無限序列a和b,那麼它們卷積的結果是 求出yn值 模板題建議背過模板 講的非常不錯的部落格 include...

題解 P3803 模板 多項式乘法(FFT)

這題 我可能是唯一乙個用三種語言各寫一遍的人 然而pascal卡不過去 並且我應該是第乙個用c寫fft通過的 所以這篇題解的重點不在數學,而在如何用c愉快地食用fft 既然前面有p黨卡過去發題解那這個應該也行吧 先重複一下做法 把兩個多項式變換成點值表示,直接o n o n o n 乘起來,然後變回...