提交记录 13928


用户 题目 状态 得分 用时 内存 语言 代码长度
OI_berbi 1002i. 【模板题】多项式乘法 Accepted 100 27.996 ms 12212 KB C++ 1.40 KB
提交时间 评测时间
2020-08-13 16:15:56 2020-08-13 16:16:00
#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;
			#define H(k) {cp x=W[k]*Q[k];Q[k]=P[k]-x;P[k]=P[k]+x;}
			if(i<8) For(k,0,i-1) H(k)
			else for(int k=0;k<i;k+=8) {H(k) H(k+1) H(k+2) H(k+3) H(k+4) H(k+5) H(k+6) H(k+7)}
		}
	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.67 us56 KBAcceptedScore: 0

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

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

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

Subtask #1 Testcase #539.52 us56 KBAcceptedScore: 0

Subtask #1 Testcase #637.64 us56 KBAcceptedScore: 0

Subtask #1 Testcase #736.93 us56 KBAcceptedScore: 0

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

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

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

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

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

Subtask #1 Testcase #1335.15 us56 KBAcceptedScore: 0


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