提交记录 8564


用户 题目 状态 得分 用时 内存 语言 代码长度
OI_berbi 1002i. 【模板题】多项式乘法 Accepted 100 63.165 ms 6980 KB C++ 1.25 KB
提交时间 评测时间
2019-02-25 20:08:54 2020-08-01 01:21:26
#include<bits/stdc++.h>
#define M 2100005
const int P=998244353,G=3,invG=332748118;
using namespace std;
int a[M],b[M],c[M],n,m;
namespace NTT{
	int A[M],B[M],r[M],w[M];
	int pow(int a,int x){
		int res=1;
		while(x){
			if(x&1)res=1ll*res*a%P;
			a=1ll*a*a%P;
			x>>=1;
		}
		return res;
	}
	void DFT(int *x,int n,int p){
		for(int i=0;i<n;i++)if(i<r[i])swap(x[i],x[r[i]]);
		w[0]=1;
		for(int i=1;i<n;i<<=1){
			int wn=pow(p>0?G:invG,(P-1)/i>>1);
			for(int j=i-2;j>=0;j-=2)w[j+1]=1ll*wn*(w[j]=w[j>>1])%P;
			for(int j=0;j<n;j+=(i<<1)){
				for(int k=0;k<i;k++){
					int t=1ll*x[i+j+k]*w[k]%P;
					x[i+j+k]=(x[j+k]-t+P)%P;
					x[j+k]=(x[j+k]+t)%P;
				}
			}
		}
	}
	void mult(const int *a,const int *b,int x,int y,int *c){
		int n=1;
		while(n<=x+y)n<<=1;
		memcpy(A,a,4*x+4),memcpy(B,b,4*y+4);
		memset(A+x+1,0,4*(n-x)),memset(B+y+1,0,4*(n-y));
		for(int i=0;i<n;i++)r[i]=(r[i>>1]>>1)|((i&1)*(n>>1));
		DFT(A,n,1),DFT(B,n,1);
		for(int i=0;i<n;i++)A[i]=1ll*A[i]*B[i]%P;
		DFT(A,n,-1);
		int inv=pow(n,P-2);
		for(int i=0;i<n;i++)c[i]=1ll*A[i]*inv%P;
	}
};
using NTT::mult;
int main() {
	scanf("%d%d",&n,&m);
	for(int i=0;i<=n;i++)scanf("%d",&a[i]);
	for(int i=0;i<=m;i++)scanf("%d",&b[i]);
	mult(a,b,n,m,c);
	for(int i=0;i<=n+m;i++)printf("%d ",c[i]);
	puts("");
	return 0;
}


CompilationN/AN/ACompile OKScore: N/A

Subtask #1 Testcase #138.73 us64 KBAcceptedScore: 0

Subtask #1 Testcase #262.415 ms6 MB + 756 KBAcceptedScore: 100

Subtask #1 Testcase #328.714 ms2 MB + 988 KBAcceptedScore: 0

Subtask #1 Testcase #428.746 ms2 MB + 976 KBAcceptedScore: 0

Subtask #1 Testcase #541.98 us64 KBAcceptedScore: 0

Subtask #1 Testcase #639.99 us64 KBAcceptedScore: 0

Subtask #1 Testcase #739.64 us64 KBAcceptedScore: 0

Subtask #1 Testcase #856.778 ms6 MB + 356 KBAcceptedScore: 0

Subtask #1 Testcase #956.689 ms6 MB + 356 KBAcceptedScore: 0

Subtask #1 Testcase #1051.048 ms5 MB + 980 KBAcceptedScore: 0

Subtask #1 Testcase #1162.63 ms6 MB + 836 KBAcceptedScore: 0

Subtask #1 Testcase #1263.165 ms5 MB + 716 KBAcceptedScore: 0

Subtask #1 Testcase #1337.3 us64 KBAcceptedScore: 0


Judge Duck Online | 评测鸭在线
Server Time: 2026-04-06 13:37:38 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠