[清华集训2012]模积和 题解
求
\[\sum\limits^n_{i=1}\sum\limits_{j=1}^m(n \bmod i) \times (m \bmod j) , i \neq j
\]
一点点往下推。
\[\sum\limits_{i=1}^n\sum\limits_{j=1}^m (n \bmod i) \times (m \bmod j) - \sum\limits_{i=1}^{\min(n,m)} (n \bmod i)\times(m \bmod i)
\]
我们知道 \(n\bmod i = n - i\times\left\lfloor\frac{n}{i}\right\rfloor\)
单独看前半部分可以得到
\[\sum\limits_{i=1}^n (n - i\times\left\lfloor\frac{n}{i}\right\rfloor) \sum\limits_{j=1}^m (m - j\times\left\lfloor\frac{m}{j}\right\rfloor)
\]
\[(n^2 - \sum\limits_{i=1}^n i\times\left\lfloor\frac{n}{i}\right\rfloor) \times (m^2 - \sum\limits_{j=1}^m j\times\left\lfloor\frac{m}{j}\right\rfloor)
\]
我们设 \(f(p,q) = \sum\limits_{i=1}^q p\times\left\lfloor\frac{p}{i}\right\rfloor\)
显然上面这个东西可以数论分块搞出来。
可以得到
\[(n^2 - f(n,n))\times(m^2 - f(m,m))
\]
这个显然也可以在 \(O(\sqrt n)\) 的复杂度内求出来。
再来看后半部分可以得到
\[\sum\limits_{i=1}^{\min(n,m)}(n-\left\lfloor\frac{n}{i}\right\rfloor\times i) \times (m - \left\lfloor\frac{m}{i}\right\rfloor\times i)
\]
我们记 \(N = min(n,m)\)
\[Nnm - n\sum\limits_{i=1}^N i\left\lfloor\frac{m}{i}\right\rfloor - m\sum\limits_{i=1}^N i\left\lfloor\frac{n}{i}\right\rfloor + \sum\limits_{i=1}^N i^2 \times \left\lfloor\frac{m}{i}\right\rfloor\left\lfloor\frac{n}{i}\right\rfloor
\]
前缀平方和使用公式即可,其它用数论分块可以解决。
最终复杂度 \(O(q\sqrt n)\)