提交记录 8275


用户 题目 状态 得分 用时 内存 语言 代码长度
hjk1030 1002i. 【模板题】多项式乘法 Accepted 100 70.23 ms 49460 KB C++ 1.58 KB
提交时间 评测时间
2019-02-10 16:39:02 2020-08-01 01:14:59
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
const double pi=acos(-1);
using namespace std;
class complex
{
    public:
        double real,imag;
        complex(double x=0.0,double y=0.0)
        {
            real=x,imag=y;
        }
        complex operator +(const complex &x)
        {
            return complex(real+x.real,imag+x.imag);
        }
        complex operator -(const complex &x)
        {
            return complex(real-x.real,imag-x.imag);
        }
        complex operator *(const complex &x)
        {
            return complex(real*x.real-imag*x.imag,real*x.imag+imag*x.real);
        }
}A[1000010],B[1000010],C[1000010];
int R[1000010];
void fft(complex *A,int lim,int flag)
{
    for(int i=0;i<lim;i++)
    {
        if(i<R[i])swap(A[i],A[R[i]]);
    }
    for(int j=1;j<lim;j<<=1)
    {
        complex bas(cos(pi/j),flag*sin(pi/j));
        for(int i=0;i<lim;i+=(j<<1))
        {
            complex t(1,0);
            for(int l=0;l<j;l++,t=t*bas)
            {
                complex nx=A[i+l],ny=t*A[i+j+l];
                A[i+l]=nx+ny;
                A[i+j+l]=nx-ny;
            }
        }
    }
}
int n,m;
int main()
{
    scanf("%d%d",&n,&m);
    for(int i=0;i<=n;i++)scanf("%lf",&A[i].real);
    for(int i=0;i<=m;i++)scanf("%lf",&B[i].real);
    int lognum=0,tmp=1;
    while(tmp<=n+m)tmp<<=1,lognum++;
    for(int i=0;i<tmp;i++)R[i]=(R[i>>1]>>1)|((i&1)<<(lognum-1));
    fft(A,tmp,1);
    fft(B,tmp,1);
    for(int i=0;i<=tmp;i++)C[i]=A[i]*B[i];
    fft(C,tmp,-1);
    for(int i=0;i<=n+m;i++)printf("%d ",(int)(C[i].real/tmp+0.5));
    return 0;
}

CompilationN/AN/ACompile OKScore: N/A

Subtask #1 Testcase #15.118 ms45 MB + 824 KBAcceptedScore: 0

Subtask #1 Testcase #269.595 ms48 MB + 228 KBAcceptedScore: 100

Subtask #1 Testcase #334.803 ms46 MB + 592 KBAcceptedScore: 0

Subtask #1 Testcase #434.909 ms46 MB + 580 KBAcceptedScore: 0

Subtask #1 Testcase #55.349 ms45 MB + 824 KBAcceptedScore: 0

Subtask #1 Testcase #65.152 ms45 MB + 824 KBAcceptedScore: 0

Subtask #1 Testcase #75.117 ms45 MB + 824 KBAcceptedScore: 0

Subtask #1 Testcase #863.464 ms47 MB + 984 KBAcceptedScore: 0

Subtask #1 Testcase #963.736 ms47 MB + 984 KBAcceptedScore: 0

Subtask #1 Testcase #1057.392 ms47 MB + 716 KBAcceptedScore: 0

Subtask #1 Testcase #1170.23 ms48 MB + 308 KBAcceptedScore: 0

Subtask #1 Testcase #1269.704 ms47 MB + 188 KBAcceptedScore: 0

Subtask #1 Testcase #135.366 ms45 MB + 824 KBAcceptedScore: 0


Judge Duck Online | 评测鸭在线
Server Time: 2024-04-27 06:38:05 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用