提交记录 8801


用户 题目 状态 得分 用时 内存 语言 代码长度
xenonex 1002i. 【模板题】多项式乘法 Runtime Error 0 5.75 us 16 KB C++ 1.55 KB
提交时间 评测时间
2019-03-12 17:58:01 2020-08-01 01:24:56
#include<cstdio>
#include<cstring>
#define mod 998244353
typedef long long LL;
typedef unsigned long long ULL;
int W[2][262144],_i[19];
int(*fmo)(int,int) = (int(*)(int,int))"\x8B\x44\x24\x04\x8B\x54\x24\x08\x53\x83\xEC\x04\xF7\xE2\x89\x04\x24\x8B\xDA\xB9\x87\x40\xAE\x89\xF7\xE1\x8B\xC3\x8B\xDA\xF7\xE1\x03\xC3\x83\xD2\x00\xC1\xE8\x1D\xC1\xE2\x03\x09\xD0\xB9\x01\x00\x80\x3B\xF7\xE1\x8B\x14\x24\x2B\xD0\x8B\xC2\x3D\x01\x00\x80\x3B\x7C\x05\x05\xFF\xFF\x7F\xC4\x83\xC4\x04\x5B\xC3";
inline int ksm(LL a,LL b){int r=1;for(;b;a=fmo(a,a),b>>=1)if(b&1)r=fmo(r,a);return r;}
void NTT_Init()
{
	int i,j,t,*x;
	for(i=1;i<262144;i<<=1)
	{
		W[0][i] = 1, t = ksm(3,(mod-1)/i/2);
		for(j=1;j<i;j++)W[0][i+j] = fmo(W[0][i+j-1],t);
		W[1][i] = 1, t = ksm(332748118,(mod-1)/i/2);
		for(j=1;j<i;j++)W[1][i+j] = fmo(W[1][i+j-1],t);
	}
	for(_i[0]=i=1;i<19;i++)_i[i] = fmo(_i[i-1],499122177);
}
void NTT(int *f,int len,int sign)
{
	int i,j,k,*w,*p,*q,t;sign=sign==-1;
	for(i=j=0;i<len;i++){if(i<j)f[i]^=f[j]^=f[i]^=f[j];for(k=len>>1;(j^=k)<k;k>>=1);}
	for(i=1;i<len;i<<=1)for(j=0;j<len;j+=i<<1)for(w=W[sign]+i,q=(p=f+j)+i,k=0;k<i;k++)
		{t=fmo(*q,*w++);if((*q=*p-t)<0){*q+=mod;}if((*p+=t)>=mod){*p-=mod;}p++,q++;}
	if(sign)for(k=_i[__builtin_ctz(len)],i=0;i<len;i++)f[i] = fmo(k,f[i]);
}
int a[262144],b[262144];
int main()
{
	int n,m,i,l;
	NTT_Init();
	scanf("%d%d",&n,&m);
	for(i=0;i<=n;i++)scanf("%d",a+i);
	for(i=0;i<=m;i++)scanf("%d",b+i);
	n = n+m+1;
	for(l=1;l<n;l<<=1);
	NTT(a,l,1), NTT(b,l,1);
	for(i=0;i<l;i++)a[i] = fmo(a[i],b[i]);
	NTT(a,l,-1);
	for(i=0;i<n;i++)printf("%d ",a[i]);
	return 0;
}

CompilationN/AN/ACompile OKScore: N/A

Subtask #1 Testcase #15.32 us16 KBRuntime ErrorScore: 0

Subtask #1 Testcase #25.7 us16 KBRuntime ErrorScore: 0

Subtask #1 Testcase #35.54 us16 KBRuntime ErrorScore: 0

Subtask #1 Testcase #45.58 us16 KBRuntime ErrorScore: 0

Subtask #1 Testcase #55.39 us16 KBRuntime ErrorScore: 0

Subtask #1 Testcase #65.5 us16 KBRuntime ErrorScore: 0

Subtask #1 Testcase #75.46 us16 KBRuntime ErrorScore: 0

Subtask #1 Testcase #85.34 us16 KBRuntime ErrorScore: 0

Subtask #1 Testcase #94.88 us16 KBRuntime ErrorScore: 0

Subtask #1 Testcase #105.32 us16 KBRuntime ErrorScore: 0

Subtask #1 Testcase #115.75 us16 KBRuntime ErrorScore: 0

Subtask #1 Testcase #124.74 us16 KBRuntime ErrorScore: 0

Subtask #1 Testcase #135.67 us16 KBRuntime ErrorScore: 0


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