警钟撅烂:WA 15pts
查看原帖
警钟撅烂:WA 15pts
856178
code_unknownbug楼主2024/9/2 14:57

如果你是用的分块除法,别忘了算等差数列的时候,把n和m转成long long

for (int L = 1, R; L <= n; L = R + 1)
{
    R = min(n / (n / L), m / (m / L));
    ll sum = ((ll)(n / L + 1) * (n / L) / 2 % P) * ((ll)(m / L + 1) * (m / L) / 2 % P) % P;
    ans = (ans + sum * (f[R] - f[L - 1] + P) % P) % P;
}
2024/9/2 14:57
加载中...