提交记录 16337


用户 题目 状态 得分 用时 内存 语言 代码长度
qdbp 1002i. 【模板题】多项式乘法 Accepted 100 74.289 ms 7724 KB C++ 1.01 KB
提交时间 评测时间
2021-07-08 09:53:49 2021-07-08 09:53:53
#include<iostream>
#include<cstdio>
#define int long long
using namespace std;
const int N=3e6+10;
const int p=998244353;
const int g=3;
const int invg=332748118;
int rev[N],A[N],B[N];
int POW(int a,int b)
{
	if(!b) return 1;
	if(b==1) return a;
	int sum=POW(a,b/2);
	if(b%2) return sum*sum%p*a%p;
	return sum*sum%p;
}
void NTT(int *a,int tp,int n)
{
	for(int i=0;i<n;i++)
		if(i<rev[i]) swap(a[i],a[rev[i]]);
	for(int l=1;l<n;l*=2)
	{
		int w=POW(tp?g:invg,(p-1)/(l*2));
		for(int i=0;i<n;i+=l*2)
		{
			int W=1;
			for(int k=0;k<l;k++,W=W*w%p)
			{
				int x=a[i+k],y=W*a[i+k+l]%p;
				a[i+k]=(x+y)%p,a[i+k+l]=(x-y+p)%p;
			}
		}
	}
}
signed main()
{
	int n,m,t=1,O=0;
	scanf("%lld%lld",&n,&m);
	for(int i=0;i<=n;i++) scanf("%lld",&A[i]);
	for(int i=0;i<=m;i++) scanf("%lld",&B[i]);
	while(t<=n+m) t*=2,O++;
	for(int i=0;i<=t;i++)
		rev[i]=(rev[i/2]/2)+(1<<O-1)*(i%2);
	NTT(A,1,t),NTT(B,1,t);
	for(int i=0;i<=t;i++) A[i]=A[i]*B[i]%p;
	NTT(A,0,t);
	int inv=POW(t,p-2);
	for(int i=0;i<=n+m;i++) printf("%lld ",A[i]*inv%p);
	return 0;
}

CompilationN/AN/ACompile OKScore: N/A

Subtask #1 Testcase #136.26 us48 KBAcceptedScore: 0

Subtask #1 Testcase #273.5 ms7 MB + 476 KBAcceptedScore: 0

Subtask #1 Testcase #334.307 ms3 MB + 328 KBAcceptedScore: 100

Subtask #1 Testcase #434.279 ms3 MB + 316 KBAcceptedScore: 0

Subtask #1 Testcase #539.18 us48 KBAcceptedScore: 0

Subtask #1 Testcase #637.01 us48 KBAcceptedScore: 0

Subtask #1 Testcase #737.08 us48 KBAcceptedScore: 0

Subtask #1 Testcase #867.507 ms7 MB + 208 KBAcceptedScore: 0

Subtask #1 Testcase #967.479 ms7 MB + 208 KBAcceptedScore: 0

Subtask #1 Testcase #1061.523 ms6 MB + 964 KBAcceptedScore: 0

Subtask #1 Testcase #1173.853 ms7 MB + 556 KBAcceptedScore: 0

Subtask #1 Testcase #1274.289 ms6 MB + 436 KBAcceptedScore: 0

Subtask #1 Testcase #1335.23 us48 KBAcceptedScore: 0


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