提交记录 9020


用户 题目 状态 得分 用时 内存 语言 代码长度
x_faraway_x 1002i. 【模板题】多项式乘法 Accepted 100 75.001 ms 4632 KB C++ 1.08 KB
提交时间 评测时间
2019-04-04 09:39:45 2020-08-01 01:29:26
#include<cstdio>
#include<algorithm>
typedef long long ll;
const int N=100005,M=3*N,Mod=998244353;
int a[M],b[M],r[M],n1,n2,m,l;
#define mul(x,y) (1ll*x*y%Mod)
inline int po(int x, int y) {
	int r=1;
	while(y) {
		if(y&1) r=mul(r,x);
		x=mul(x,x),y>>=1;
	}
	return r;
}
void init(int x)
{
	for(m=1,l=0;m<=x;++l,m<<=1);
	for(int i=0;i<m;++i) r[i]=(r[i>>1]>>1)|((i&1)<<(l-1));
}
void ntt(int* a, int f)
{
	for(int i=0;i<m;++i) if(i<r[i]) std::swap(a[i],a[r[i]]);
	for(int i=1;i<m;i<<=1)
	{
		int wn=po(3,(Mod-1)/(i<<1)),w=1;
		if(f==-1) wn=po(wn,Mod-2);
		for(int j=0;j<m;j+=i<<1,w=1)
			for(int k=0;k<i;++k,w=mul(w,wn))
			{
				int x=a[j+k],y=mul(w,a[i+j+k]);
				a[j+k]=(x+y)%Mod, a[i+j+k]=(x-y+Mod)%Mod;
			}
	}
	if(f==-1)
	{
		ll in=po(m,Mod-2);
		for(int i=0;i<m;++i) a[i]=mul(a[i],in);
	}
}
int main()
{
#ifdef lc
	freopen("ntt.in","r",stdin);
#endif
	scanf("%d%d",&n1,&n2);
	for(int i=0;i<=n1;++i) scanf("%d",&a[i]);
	for(int i=0;i<=n2;++i) scanf("%d",&b[i]);
	init(n1+n2+2);
	ntt(a,1),ntt(b,1);
	for(int i=0;i<m;++i) a[i]=mul(a[i],b[i]);
	ntt(a,-1);
	for(int i=0;i<=n1+n2;++i) printf("%d ",a[i]);
}

CompilationN/AN/ACompile OKScore: N/A

Subtask #1 Testcase #111.16 us28 KBAcceptedScore: 0

Subtask #1 Testcase #274.414 ms4 MB + 456 KBAcceptedScore: 100

Subtask #1 Testcase #334.342 ms1 MB + 820 KBAcceptedScore: 0

Subtask #1 Testcase #434.37 ms1 MB + 808 KBAcceptedScore: 0

Subtask #1 Testcase #512.19 us28 KBAcceptedScore: 0

Subtask #1 Testcase #611.81 us28 KBAcceptedScore: 0

Subtask #1 Testcase #711.21 us28 KBAcceptedScore: 0

Subtask #1 Testcase #868.786 ms4 MB + 188 KBAcceptedScore: 0

Subtask #1 Testcase #968.705 ms4 MB + 188 KBAcceptedScore: 0

Subtask #1 Testcase #1063.018 ms3 MB + 944 KBAcceptedScore: 0

Subtask #1 Testcase #1175.001 ms4 MB + 536 KBAcceptedScore: 0

Subtask #1 Testcase #1274.965 ms3 MB + 416 KBAcceptedScore: 0

Subtask #1 Testcase #1310.29 us28 KBAcceptedScore: 0


Judge Duck Online | 评测鸭在线
Server Time: 2024-04-26 08:35:18 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用