在 work 里的递归函数,在ntt转完点值相乘的时候,为啥不能不加 M 啊?
ntt ( b ) , ntt ( c ) ;
for ( int i = 0 ; i < lm ; ++ i )
b [ i ] = ( 2ll - c [ i ] * b [ i ] % M + M ) * b [ i ] % M ;
ntt ( b ) ;
就是这段,在第三行的括号里最后不加 M 就会倒置答案错误。
不是加不加只是正负的问题么?
而且我下载了一组数据,只有 0 次项,也就是输出的第一个数错了。
这是为啥啊。