提交记录 15027


用户 题目 状态 得分 用时 内存 语言 代码长度
stdout 1002i. 【模板题】多项式乘法 Accepted 100 111.555 ms 143228 KB C++ 1.22 KB
提交时间 评测时间
2020-11-16 17:27:51 2020-11-16 17:27:55
#include <bits/stdc++.h>
using namespace std;
const int maxn=3e6+5;
const double PI=acos(-1.0);
//typedef complex<double> comp;
struct comp
{
	double x,y;
	comp(double xx=0,double yy=0) {x=xx,y=yy;}
}buf[maxn];
comp operator+(comp a,comp b) {return comp(a.x+b.x,a.y+b.y);}
comp operator-(comp a,comp b) {return comp(a.x-b.x,a.y-b.y);}
comp operator*(comp a,comp b) {return comp(a.x*b.x-a.y*b.y,a.x*b.y+a.y*b.x);}

int rev[maxn];
void fft(comp *a,int n,int inv) //inv=1,FFT;inv=-1,IFFT.
{
	for(int i=0;i<n;++i)
		if(i<rev[i]) swap(a[i],a[rev[i]]);
	for(int i=2;i<=n;i<<=1)
	{
		comp wn(cos(2*PI/i),sin(2*PI*inv/i));
		for(int j=0;j<n;j+=i)
		{
			comp w(1,0);
			int m=i>>1;
			for(int k=0;k<m;++k,w=w*wn)
			{
				comp tmp=w*a[j+k+m];
				a[j+k+m]=a[j+k]-tmp;
				a[j+k]=a[j+k]+tmp;
			}
		}
	}
}
comp a[maxn],b[maxn];
int main()
{
	int n,m,l=0;
	scanf("%d%d",&n,&m);
	for(int i=0;i<=n;++i)
		scanf("%lf",&a[i].x);
	for(int i=0;i<=m;++i)
		scanf("%lf",&b[i].x);
	int lim=1;
	while(lim<=m+n) lim<<=1,++l;
	for(int i=0;i<lim;++i)
		rev[i]=(rev[i>>1]>>1)|((i&1)<<(l-1));
	fft(a,lim,1);fft(b,lim,1);
	for(int i=0;i<=lim;++i)
		a[i]=a[i]*b[i];
	fft(a,lim,-1);
	for(int i=0;i<=n+m;++i)
		printf("%d ",(int)(0.5+a[i].x/lim));
	printf("\n");
	return 0;
}

CompilationN/AN/ACompile OKScore: N/A

Subtask #1 Testcase #115.382 ms137 MB + 384 KBAcceptedScore: 0

Subtask #1 Testcase #283.216 ms139 MB + 812 KBAcceptedScore: 0

Subtask #1 Testcase #358.573 ms138 MB + 152 KBAcceptedScore: 100

Subtask #1 Testcase #446.412 ms138 MB + 140 KBAcceptedScore: 0

Subtask #1 Testcase #515.379 ms137 MB + 384 KBAcceptedScore: 0

Subtask #1 Testcase #615.505 ms137 MB + 384 KBAcceptedScore: 0

Subtask #1 Testcase #715.38 ms137 MB + 384 KBAcceptedScore: 0

Subtask #1 Testcase #8104.623 ms139 MB + 544 KBAcceptedScore: 0

Subtask #1 Testcase #976.837 ms139 MB + 544 KBAcceptedScore: 0

Subtask #1 Testcase #1099.232 ms139 MB + 276 KBAcceptedScore: 0

Subtask #1 Testcase #1183.351 ms139 MB + 892 KBAcceptedScore: 0

Subtask #1 Testcase #12111.555 ms138 MB + 772 KBAcceptedScore: 0

Subtask #1 Testcase #1315.414 ms137 MB + 384 KBAcceptedScore: 0


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