在复习多项式开根的时候,我发现这种取模方式 T 飞了:
const int mod = 998244353;
ll Mod(ll x) { return x >= mod ? x - mod : x; }
b[i] = Mod(2 - c[i] * b[i] % mod + mod) * b[i] % mod;
但是以下两种 300ms 过了:
const int mod = 998244353;
int Mod(ll x) { return x >= mod ? x - mod : x; }
b[i] = Mod(2 - c[i] * b[i] % mod + mod) * b[i] % mod;
const int mod = 998244353;
b[i] = (2 - c[i] * b[i] % mod + mod) % mod * b[i] % mod;
我人傻了,这为啥啊