題目描述
這是一道模板題。
輸入兩個多項式,輸出這兩個多項式的乘積。
輸入格式
第一行兩個整數 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≤105,保證輸入中的係數大於等於 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 鍊錶的頭結點指標 ...