uoj34多項式乘法

2022-08-23 05:30:15 字數 1389 閱讀 9212

這是一道模板題。

給你兩個多項式,請輸出乘起來後的多項式。

輸入格式

第一行兩個整數 nn 和 mm,分別表示兩個多項式的次數。

第二行 n+1n+1 個整數,分別表示第乙個多項式的 00 到 nn 次項前的係數。

第三行 m+1m+1 個整數,分別表示第乙個多項式的 00 到 mm 次項前的係數。

輸出格式

一行 n+m+1n+m+1 個整數,分別表示乘起來後的多項式的 00 到 n+mn+m 次項前的係數。

樣例一

input

1 2

1 2

1 2 1

output

1 4 5 2

explanation

(1+2x)⋅(1+2x+x2)=1+4x+5x2+2x3(1+2x)⋅(1+2x+x2)=1+4x+5x2+2x3

限制與約定

0≤n,m≤1050≤n,m≤105,保證輸入中的係數大於等於 00 且小於等於 99。

時間限制:1s

空間限制:256mb

分析:

如題所言,確實是一道fft模板題,

尋求曲神幫助

雖然曲神神的有點不可思議,但人還是很親切的

第一次寫,**極為醜陋

這裡寫**片

#include

#include

#include

#include

using

namespace

std;

const

int n=301000; //陣列大小避免開成2的次方

const

double pi=acos(-1.0);

struct node

};node a[n],b[n],omega[n],a_omega[n];

int n,m,k,l;

node operator +(const node &x,const node &y)

node operator -(const node &x,const node &y)

node operator *(const node &x,const node &y)

node operator *(const node &x,const

double &y)

void init(int n)

}void fft(int n,node *a,node *w)

for (int i=2;i<=n;i<<=1) //合併

UOJ 34 多項式乘法

快速傅利葉變換 關於fft網上的教材不多,而且大多與演算法問題關係不大。強烈推薦乙個。這個講得真的很不錯 從多項式乘法到快速傅利葉變換 本弱數學知識不夠多,複數 單位根之類的知識都是下午臨時補的。從下午開始看fft,看到晚上,總算大概是把遞迴版fft的思路看懂了吧。迭代版的還沒看懂。有空慢慢鑽研 u...

UOJ 34 多項式乘法

統計這是一道模板題。給你兩個多項式,請輸出乘起來後的多項式。第一行兩個整數 n n 和 mm 分別表示兩個多項式的次數。第二行 n 1 n 1 個整數,分別表示第乙個多項式的 0 0 到 nn 次項前的係數。第三行 m 1 m 1 個整數,分別表示第乙個多項式的 0 0 到 mm 次項前的係數。一行...

UOJ 34 多項式乘法

fft模板 迭代的還沒會 先寫了個遞迴的 define的pi 我也是神了!少上一位就會wa 模板看的hzwer的 因為 pi較短 所以遞迴的跑的和迭代的一樣快 23333333 還差的幾點 1.acos要用 2.complex要自己寫 yts1999大爺說會被卡 3.要改成迭代的 1 include...