求
[sumlimits^n_{i=1}sumlimits_{j=1}^m(n mod i) imes (m mod j) , i
eq j
]
一点点往下推。
[sumlimits_{i=1}^nsumlimits_{j=1}^m (n mod i) imes (m mod j) - sumlimits_{i=1}^{min(n,m)} (n mod i) imes(m mod i)
]
我们知道 (nmod i = n - i imesleftlfloorfrac{n}{i} ight floor)
单独看前半部分可以得到
[sumlimits_{i=1}^n (n - i imesleftlfloorfrac{n}{i}
ight
floor) sumlimits_{j=1}^m (m - j imesleftlfloorfrac{m}{j}
ight
floor)
]
[(n^2 - sumlimits_{i=1}^n i imesleftlfloorfrac{n}{i}
ight
floor) imes (m^2 - sumlimits_{j=1}^m j imesleftlfloorfrac{m}{j}
ight
floor)
]
我们设 (f(p,q) = sumlimits_{i=1}^q p imesleftlfloorfrac{p}{i} ight floor)
显然上面这个东西可以数论分块搞出来。
可以得到
[(n^2 - f(n,n)) imes(m^2 - f(m,m))
]
这个显然也可以在 (O(sqrt n)) 的复杂度内求出来。
再来看后半部分可以得到
[sumlimits_{i=1}^{min(n,m)}(n-leftlfloorfrac{n}{i}
ight
floor imes i) imes (m - leftlfloorfrac{m}{i}
ight
floor imes i)
]
我们记 (N = min(n,m))
[Nnm - nsumlimits_{i=1}^N ileftlfloorfrac{m}{i}
ight
floor - msumlimits_{i=1}^N ileftlfloorfrac{n}{i}
ight
floor + sumlimits_{i=1}^N i^2 imes leftlfloorfrac{m}{i}
ight
floorleftlfloorfrac{n}{i}
ight
floor
]
前缀平方和使用公式即可,其它用数论分块可以解决。
最终复杂度 (O(qsqrt n))