題目描述
這是一道模板題。
輸入兩個多項式,輸出這兩個多項式的乘積。
輸入格式
第一行兩個整數 n n n 和 m m m,分別表示兩個多項式的次數。
第二行 n+1 n + 1 n+1 個整數,分別表示第乙個多項式的 0 0 0 到 n n n 次項前的係數。
第三行 m+1 m + 1 m+1 個整數,分別表示第二個多項式的 0 0 0 到 m m m 次項前的係數。
輸出格式
一行 n+m+1 n + m + 1 n+m+1 個整數,分別表示乘起來後的多項式的 0 0 0 到 n+m n + m n+m 次項前的係數。
樣例樣例輸入
1 2
1 2
1 2 1
樣例輸出
1 4 5 2
模板ntt
#include
#include
#include
#define ll long long
using namespace std;
inline char gc()
return
*s++;
}inline int
read()
while(isdigit(ch)) x=x
*10+ch-'0',ch=gc();
return
x*f;
}const int n=1e5+10;
const int g=3;
const int mod=998244353;
inline int ksm(ll b,int t)
int a[n<<2],b[n<<2],r[n<<2],n,m;ll invn;
inline int inc(int
x,int v)
inline int dec(int
x,int v)
inline void ntt(int
*x,int f)
}if (f==-1) for (int i=0;ix[i]=x[i]*invn
%mod;
}int main()
fft
#include
#include
#include
#include
#define pi acos(-1)
using
namespace
std;
inline
char gc()
return *s++;
}inline
int read()
while(isdigit(ch)) x=x*10+ch-'0',ch=gc();
return x*f;
}const
int n=1e5+10;
struct c;}
inline
friend c operator-(const c &a,const c &b);}
inline
friend c operator*(const c &a,const c &b);}
inline
void
operator*=(const c &a)
}a[n<<2],b[n<<2];
int n,m,r[n<<2];
inline
void fft(c *x,int f);
for (int j=0;j1),t1,t2;
for (int k=0;kif(f==-1) for (int i=0;iint main()
loj 108 多項式乘法
題目描述 這是一道模板題。輸入兩個多項式,輸出這兩個多項式的乘積。輸入格式 第一行兩個整數 n nn 和 m mm,分別表示兩個多項式的次數。第二行 n 1 n 1n 1 個整數,分別表示第乙個多項式的 0 00 到 n nn 次項前的係數。第三行 m 1 m 1m 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 鍊錶的頭結點指標 ...