求助
  • 板块学术版
  • 楼主Qiuly
  • 当前回复25
  • 已保存回复25
  • 发布时间2020/5/28 16:45
  • 上次更新2023/11/7 01:34:17
查看原帖
求助
113190
Qiuly楼主2020/5/28 16:45
inline poly operator * (poly a,poly b) {
        int n=a.size(),m=b.size(),t=n+m-1;
        if(n<=30||m<=30) {
            poly c(t);
            for(int i=0,res;i<n;++i) if((res=a[i]))
                for(int j=0;j<m;++j) pls(c[i+j],mul(res,b[j]));
            return c;
        }
        init_r(t);
        a.rez(lim),NTT(a,1),
        b.rez(lim),NTT(b,1);
        for(int i=0;i<lim;++i) a[i]=mul(a[i],b[i]);
        return NTT(a,-1),a.rez(t),a;
    }

当不跑暴力的答案和跑暴力的不一样。

而且当 3030 换成其他值的时候跑出来的也不一样。

心态崩了,求助 /kel

2020/5/28 16:45
加载中...