[清华集训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)\)

posted @ 2021-05-21 16:40  nao-nao  阅读(89)  评论(0编辑  收藏  举报