loj 108 多項式乘法

2022-04-01 11:02:33 字數 1420 閱讀 8507

題目描述

這是一道模板題。

輸入兩個多項式,輸出這兩個多項式的乘積。

輸入格式

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

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

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

輸出格式

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

樣例樣例輸入

1 2

1 21 2 1

樣例輸出

1 4 5 2

資料範圍與提示

0≤n,m≤105 0 \leq n, m \leq 10 ^ 50≤n,m≤10​5​​,保證輸入中的係數大於等於 0 00 且小於等於 9 99。

#include#include

#include

#include

#define maxn 400010

#define pi (acos(-1.0))

using

namespace

std;

intrd[maxn];

struct

node

node

operator + (const node &c)

node

operator - (const node &c)

node

operator * (const node &c)

node

operator / (const

double &c)

}a[maxn],b[maxn];

void fft(node *a,int n,int

f) }

}if(f==-1

)

for(int i=0;i<=n;i++)a[i]=a[i]/n;

}int

main()

for(int i=0;i<=n;i++)rd[i]=(rd[i>>1]>>1)|((i&1)<<(l-1

)); fft(a,n,

1);fft(b,n,1

);

for(int i=0;i<=n;i++)a[i]=a[i]*b[i];

fft(a,n,-1

);

for(int i=0;i<=m;i++)printf("

%d ",(int)(a[i].x+0.5

));

return0;

}

loj 108 多項式乘法

題目描述 這是一道模板題。輸入兩個多項式,輸出這兩個多項式的乘積。輸入格式 第一行兩個整數 n n n 和 m m m,分別表示兩個多項式的次數。第二行 n 1 n 1 n 1 個整數,分別表示第乙個多項式的 0 0 0 到 n n n 次項前的係數。第三行 m 1 m 1 m 1 個整數,分別表示...

多項式乘法

時間限制 c c 1秒,其他語言2秒 空間限制 c c 262144k,其他語言524288k 64bit io format lld et reo 吃完了元宵,又開始思考數學問題了。這次他拿了兩個多項式 p mathscrp 和 q mathscrq 他知道這兩個多項式的乘積也是乙個多項式,但他不...

多項式乘法

l1和l2是兩個帶頭結點的單鏈表表示的多項式,編寫演算法計算兩個多項式的乘積,運算結果仍用單鏈表進行儲存 include using namespace std typedef struct lnode lnode,linkedlist 查詢計算結果應該插入的位置 param l 鍊錶的頭結點指標 ...