這是一道模板題。
給你兩個多項式,請輸出乘起來後的多項式。
輸入格式
第一行兩個整數 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...