提交记录 13016


用户 题目 状态 得分 用时 内存 语言 代码长度
top_secret 1002i. 【模板题】多项式乘法 Accepted 100 56.253 ms 6196 KB C++ 1.54 KB
提交时间 评测时间
2020-07-19 11:05:28 2020-08-01 03:03:15
#include <bits/stdc++.h>
//#define int long long
#define pb push_back
#define mp make_pair
#define fi first
#define se second
#define FOR(i,a,b) for (int i = a; i < b; ++i)
#define ROF(i,a,b) for (int i = (b)-1; i >= a; --i)
#define debug(x) cout << #x << " = " << x << endl
#define FIO(x) \
	freopen(x ".in", "r", stdin); \
	freopen(x ".out", "w", stdout);
using namespace std;

typedef vector<int> vi;
typedef pair<int,int> pii;
typedef long long ll;

const int N=1<<21|1,mo=998244353;
int poww(int x,int y){int ans=1;for(;y;y>>=1,x=(ll)x*x%mo)if(y&1)ans=(ll)ans*x%mo;return ans;}

void Add(int &x, int y) {
	x += y;
	if (x>=mo) x -= mo;
}
void Sub(int &x, int y) {
	x -= y;
	if (x<0) x += mo;
}

struct NTT{
	int b[N],wn[N],l,invl;
	void ini(int n){
		invl=poww(l=n,mo-2);int i;
		for(i=1;i<l;++i)b[i]=b[i>>1]>>1|(i&1?l>>1:0);
		for(i=2,wn[*wn=1]=poww(3,(mo-1)/l);i<=l;++i)wn[i]=(ll)wn[1]*wn[i-1]%mo;
	}
	void DFT(int*a,int key){
		static int w[N];int i,j,k,m,u;
		for(i=0;i<l;++i)if(i<b[i])swap(a[i],a[b[i]]);
		for(i=2;i<=l;i<<=1){
			for(m=i>>1,j=k=0;k<m;++k,j+=l/i)w[k]=wn[j];
			for(j=0;j<l;j+=i)for(k=0;k<m;++k)u=(ll)w[k]*a[j+k+m]%mo,
				Sub(a[j+k+m]=a[j+k],u),Add(a[j+k],u);
		}
		if(key==-1)for(i=0,std::reverse(a+1,a+l);i<l;++i)a[i]=(ll)a[i]*invl%mo;
	}
}F;

int n,m,a[N],b[N];

signed main() {
#ifndef ONLINE_JUDGE
	FIO("a");
#endif
	scanf("%d%d",&n,&m);
	FOR(i,0,n+1)scanf("%d",a+i);
	FOR(i,0,m+1)scanf("%d",b+i);
	int l=1;while(l<=n+m+1) l<<=1;
	F.ini(l);
	F.DFT(a,1);F.DFT(b,1);
	FOR(i,0,l)a[i]=(ll)a[i]*b[i]%mo;
	F.DFT(a,-1);
	FOR(i,0,n+m+1)printf("%d ",a[i]);
}

CompilationN/AN/ACompile OKScore: N/A

Subtask #1 Testcase #138.8 us56 KBAcceptedScore: 0

Subtask #1 Testcase #255.705 ms5 MB + 996 KBAcceptedScore: 0

Subtask #1 Testcase #325.577 ms2 MB + 592 KBAcceptedScore: 100

Subtask #1 Testcase #425.575 ms2 MB + 580 KBAcceptedScore: 0

Subtask #1 Testcase #540.04 us56 KBAcceptedScore: 0

Subtask #1 Testcase #638.14 us56 KBAcceptedScore: 0

Subtask #1 Testcase #738.59 us56 KBAcceptedScore: 0

Subtask #1 Testcase #849.857 ms5 MB + 728 KBAcceptedScore: 0

Subtask #1 Testcase #949.906 ms5 MB + 728 KBAcceptedScore: 0

Subtask #1 Testcase #1044.177 ms5 MB + 460 KBAcceptedScore: 0

Subtask #1 Testcase #1155.988 ms6 MB + 52 KBAcceptedScore: 0

Subtask #1 Testcase #1256.253 ms4 MB + 956 KBAcceptedScore: 0

Subtask #1 Testcase #1338.32 us56 KBAcceptedScore: 0


Judge Duck Online | 评测鸭在线
Server Time: 2026-03-25 01:27:19 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠