HGOI20190815 题解

Problem A modsum

求$\sum\limits_{i=1}^{n} \sum\limits_{j=1 , i \neq j}^{m} (n \ mod \ i)(m \ mod \ j)$

在模$ 19940417 $的意义下计算答案。

对于$100\%$的数据,满足$1 \leq n,m \leq 10^9$

Solution :

由于$n,m$的答案和$m,n$的答案都是一样的,我们不妨令$n\leq m$

一眼想到了整除分块,我们显然可以通过$O(\sqrt{n})$的复杂度求出

$G(n,k) = \sum\limits_{i=1}^{n} (k \ mod \ i)$的值。

我们考虑化简原来的式子,原式$ = \sum\limits_{i=1}^{n} ((\sum\limits_{j=1}^{m} (n\ mod \ i)(m \ mod \ j))- (n \ mod \ i)(m \ mod \ i))$

$ = \sum\limits_{i=1}^n\sum\limits_{j=1}^{m}(n \ mod \ i)(m \ mod \ j) - \sum\limits_{i=1}^{n} (n \ mod \ i)(m \ mod \ i)$

$ = \sum_{i=1}^n\sum_{j=1}^{m}(n \ mod \ i)(m \ mod \ j) -\sum_{i=1}^{n}(n-i\times \left \lfloor \frac{n}{i} \right \rfloor)(m-i\times \left \lfloor \frac{m}{i} \right \rfloor)$

猜你喜欢

转载自www.cnblogs.com/ljc20020730/p/11357335.html