提交记录 12036


用户 题目 状态 得分 用时 内存 语言 代码长度
BilyHurington 1004. 【模板题】高精度乘法 Wrong Answer 0 3.077 ms 44 KB C++11 912 B
提交时间 评测时间
2020-03-10 20:32:46 2020-08-01 02:50:25
#include<cstdio>
#include<cstring>
#include<cmath>
#include<cstdlib>
#include<algorithm>
#include<iostream> 
#include<complex>
using namespace std;
typedef complex<double> E;
int n,m,l,r[3000010];
E a[3000010],b[3000010];
#define pi acos(-1)
void fft(E *a,int f){
	for(int i=0;i<n;i++){
		if(i<r[i]) swap(a[i],a[r[i]]);
	}
	for(int i=1;i<n;i<<=1){
		E wn(cos(pi/i),f*sin(pi/i));
		for(int p=i<<1,j=0;j<n;j+=p){
			E w(1,0);
			for(int k=0;k<i;k++,w*=wn){
				E x=a[j+k],y=w*a[j+k+i];
				a[j+k]=x+y;
				a[j+k+i]=x-y;
			}
		}
	}
}
int main(){
	scanf("%d %d",&n,&m);
	int k;
	for(int i=0;i<=n;i++) scanf("%d",&k),a[i]=k;
	for(int i=0;i<=m;i++) scanf("%d",&k),b[i]=k;
	m+=n;
	for(n=1;n<=m;n<<=1) l++;
	for(int i=0;i<n;i++) r[i]=(r[i>>1]>>1)|((i&1)<<(l-1));
	fft(a,1);
	fft(b,1);
	for(int i=0;i<=n;i++) a[i]=a[i]*b[i];
	fft(a,-1);
	for(int i=0;i<=m;i++) printf("%lld ",(long long)(a[i].real()/n+0.5));
	return 0;
}

CompilationN/AN/ACompile OKScore: N/A

Testcase #13.077 ms44 KBWrong AnswerScore: 0


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