提交记录 13847


用户 题目 状态 得分 用时 内存 语言 代码长度
OI_berbi 1002i. 【模板题】多项式乘法 Accepted 100 28.524 ms 12212 KB C++ 1.31 KB
提交时间 评测时间
2020-08-12 22:22:09 2020-08-12 22:22:13
#pragma GCC optimize(3)
#include<bits/stdc++.h>
#define For(a,b,c) for(register int a=b;a<=c;++a)
using namespace std;
const int N=270000;
const double pi=acos(-1);
struct cp {
	double x,y;
	cp operator + (const cp &_) {return (cp){x+_.x,y+_.y};}
	cp operator - (const cp &_) {return (cp){x-_.x,y-_.y};}
	cp operator * (const cp &_) {return (cp){x*_.x-y*_.y,x*_.y+y*_.x};}
}A[N],B[N],O[N];
int s,R[N],F[N],G[N],a,b;
void DFT(cp *A,int o=0) {
	For(i,0,s-1) if(i<R[i]) swap(A[i],A[R[i]]);
	for(register int i=1;i<s;i<<=1)
		for(register int j=0;j<s;j+=i<<1) {
			cp *W=O+i,*P=A+j,*Q=A+j+i;
			For(k,0,i-1) {
				cp x=W[k]*Q[k];
				Q[k]=P[k]-x;
				P[k]=P[k]+x;
			}
		}
	if(o) {
		reverse(A+1,A+s);
	}
}
void pt(int x) {
	if(!x) return;
	pt(x/10),putchar(x%10^48);
}
void wt(int x) {
	if(!x) putchar(48);
	else pt(x);
}
int main () {
	scanf("%d%d",&a,&b),++a,++b;
	For(i,0,a-1) scanf("%d",&F[i]);
	For(i,0,b-1) scanf("%d",&G[i]);
	s=1; while(s<a+b-1) s<<=1;
	cp w=(cp){cos(2*pi/s),sin(2*pi/s)};
	O[s>>1]=(cp){1,0};
	for(int i=(s>>1)+1;i<s;++i) O[i]=O[i-1]*w;
	for(int i=(s>>1)-1;i>0;--i) O[i]=O[i<<1];
	For(i,0,s-1) R[i]=(R[i>>1]>>1)|((i&1)*(s>>1));
	For(i,0,a-1) A[i].x=F[i];
	For(i,0,b-1) A[i].y=G[i];
	DFT(A);
	For(i,0,s-1) A[i]=A[i]*A[i];
	DFT(A,1);
	For(i,0,s-1) F[i]=A[i].y/s/2+0.5;
	For(i,0,a+b-2) wt(F[i]),putchar(' ');
	return 0;
}

CompilationN/AN/ACompile OKScore: N/A

Subtask #1 Testcase #136.97 us56 KBAcceptedScore: 0

Subtask #1 Testcase #227.377 ms11 MB + 868 KBAcceptedScore: 0

Subtask #1 Testcase #39.523 ms5 MB + 720 KBAcceptedScore: 100

Subtask #1 Testcase #49.55 ms5 MB + 320 KBAcceptedScore: 0

Subtask #1 Testcase #538.08 us56 KBAcceptedScore: 0

Subtask #1 Testcase #637.77 us56 KBAcceptedScore: 0

Subtask #1 Testcase #737.45 us56 KBAcceptedScore: 0

Subtask #1 Testcase #825.107 ms11 MB + 600 KBAcceptedScore: 0

Subtask #1 Testcase #925.093 ms11 MB + 468 KBAcceptedScore: 0

Subtask #1 Testcase #1022.812 ms11 MB + 200 KBAcceptedScore: 0

Subtask #1 Testcase #1128.524 ms11 MB + 948 KBAcceptedScore: 0

Subtask #1 Testcase #1220.408 ms10 MB + 828 KBAcceptedScore: 0

Subtask #1 Testcase #1335.87 us56 KBAcceptedScore: 0


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