提交记录 9624


用户 题目 状态 得分 用时 内存 语言 代码长度
lzoilxy 1002i. 【模板题】多项式乘法 Accepted 100 70.986 ms 4632 KB C++ 1.32 KB
提交时间 评测时间
2019-06-20 22:18:59 2020-08-01 01:41:33
#include<algorithm>
#include<cstdio>
#define G 3
using namespace std;
const int P=998244353;
int n,m,s,ln,sl,fh,inv,a[5500010],b[5500010],rev[5500010];
int rd()
{
    sl=0;fh=1;
    char ch=getchar();
    while(ch<'0'||'9'<ch) {if(ch=='-') fh=-1; ch=getchar();}
    while('0'<=ch&&ch<='9') sl=sl*10+ch-'0',ch=getchar();
    return sl*fh;
}
int _pow(int k,int i)
{
    int t=1;
    while(i)
    {
        if(i&1) t=1ll*t*k%P;
        k=1ll*k*k%P;i>>=1;
    }
    return t;
}
void NTT(int *e,int flg)
{
    for(int i=0;i<ln;++i)
        if(i<rev[i])
            swap(e[i],e[rev[i]]);
    int t,wn,fx,fy;
    for(int i=2,mid=1;i<=ln;i<<=1,mid<<=1)
    {
        wn=_pow(G,(P-1)/i); if(flg==-1) wn=_pow(wn,P-2);
        for(int j=0;j<ln;j+=i)
        {
            t=1;
            for(int k=j;k<j+mid;++k,t=1ll*t*wn%P)
            {
                fx=e[k];fy=1ll*t*e[k+mid]%P;
                e[k]=(fx+fy)%P;
                e[k+mid]=(fx-fy+P)%P;
            }
        }
    }
}
int main()
{
    n=rd();m=rd();ln=1;
    while(ln<=n+m) ln<<=1,s++;inv=_pow(ln,P-2);
    for(int i=1;i<ln;++i) rev[i]=(rev[i>>1]>>1)|((i&1)<<s-1);
    for(int i=0;i<=n;++i) a[i]=rd();
    for(int i=0;i<=m;++i) b[i]=rd();
    NTT(a,1);NTT(b,1);for(int i=0;i<ln;++i) a[i]=1ll*a[i]*b[i]%P;NTT(a,-1);
    for(int i=0;i<=n+m;++i) printf("%d ",1ll*a[i]*inv%P);puts("");
    return 0;
}

CompilationN/AN/ACompile OKScore: N/A

Subtask #1 Testcase #19.73 us28 KBAcceptedScore: 0

Subtask #1 Testcase #270.579 ms4 MB + 456 KBAcceptedScore: 100

Subtask #1 Testcase #332.366 ms1 MB + 820 KBAcceptedScore: 0

Subtask #1 Testcase #432.469 ms1 MB + 808 KBAcceptedScore: 0

Subtask #1 Testcase #510.76 us28 KBAcceptedScore: 0

Subtask #1 Testcase #612.71 us28 KBAcceptedScore: 0

Subtask #1 Testcase #79.42 us28 KBAcceptedScore: 0

Subtask #1 Testcase #865.429 ms4 MB + 188 KBAcceptedScore: 0

Subtask #1 Testcase #965.427 ms4 MB + 188 KBAcceptedScore: 0

Subtask #1 Testcase #1060.25 ms3 MB + 944 KBAcceptedScore: 0

Subtask #1 Testcase #1170.843 ms4 MB + 536 KBAcceptedScore: 0

Subtask #1 Testcase #1270.986 ms3 MB + 416 KBAcceptedScore: 0

Subtask #1 Testcase #137.38 us28 KBAcceptedScore: 0


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