提交记录 16336


用户 题目 状态 得分 用时 内存 语言 代码长度
qdbp 1002i. 【模板题】多项式乘法 Accepted 100 65.518 ms 10804 KB C++ 1.07 KB
提交时间 评测时间
2021-07-08 09:53:21 2021-07-08 09:53:25
#include<iostream>
#include<cstdio>
#include<cmath>
#define db double
using namespace std;
const int N=3e6+10;
const db PI=acos(-1.0);
int rev[N];
struct cp
{
	db a,b;
}A[N],B[N];
cp operator + (cp x,cp y)
{
	return (cp){x.a+y.a,x.b+y.b};
}
cp operator - (cp x,cp y)
{
	return (cp){x.a-y.a,x.b-y.b};
}
cp operator * (cp x,cp y)
{
	return (cp){x.a*y.a-x.b*y.b,x.b*y.a+x.a*y.b};
}
void FFT(cp *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)
	{
		cp w=(cp){cos(PI/(db)(l)),(db)(tp)*sin(PI/(db)(l))};
		for(int i=0;i<n;i+=l*2)
		{
			cp W=(cp){1,0};
			for(int k=0;k<l;k++,W=W*w)
			{
				cp x=a[i+k],y=W*a[i+k+l];
				a[i+k]=x+y,a[i+k+l]=x-y;
			}
		}
	}
}
int main()
{
	int n,m,t=1,O=0;
	scanf("%d%d",&n,&m);
	for(int i=0;i<=n;i++) scanf("%lf",&A[i].a);
	for(int i=0;i<=m;i++) scanf("%lf",&B[i].a);
	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);
	FFT(A,1,t),FFT(B,1,t);
	for(int i=0;i<=t;i++) A[i]=A[i]*B[i];
	FFT(A,-1,t);
	for(int i=0;i<=n+m;i++)
		printf("%d ",(int)(A[i].a/(db)t+0.5));
	return 0;
}

CompilationN/AN/ACompile OKScore: N/A

Subtask #1 Testcase #136.4 us56 KBAcceptedScore: 0

Subtask #1 Testcase #265.347 ms10 MB + 484 KBAcceptedScore: 0

Subtask #1 Testcase #329.822 ms4 MB + 848 KBAcceptedScore: 100

Subtask #1 Testcase #429.863 ms4 MB + 836 KBAcceptedScore: 0

Subtask #1 Testcase #538.47 us56 KBAcceptedScore: 0

Subtask #1 Testcase #637.31 us56 KBAcceptedScore: 0

Subtask #1 Testcase #738.14 us56 KBAcceptedScore: 0

Subtask #1 Testcase #859.205 ms10 MB + 216 KBAcceptedScore: 0

Subtask #1 Testcase #959.126 ms10 MB + 216 KBAcceptedScore: 0

Subtask #1 Testcase #1053.369 ms9 MB + 972 KBAcceptedScore: 0

Subtask #1 Testcase #1165.518 ms10 MB + 564 KBAcceptedScore: 0

Subtask #1 Testcase #1265.398 ms9 MB + 444 KBAcceptedScore: 0

Subtask #1 Testcase #1335.6 us56 KBAcceptedScore: 0


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