首先有一個結論$d(i*j)=\sum \limits _{x\mid i} \sum \limits _{y\mid j}\left [ gcd(i,j)=1 \right ] $函數
結論有點難想,不過以後就比較簡單了。spa
$\sum \limits _{i=1}^{N}\sum \limits _{j=1}^{M} \sum \limits _{x\mid i} \sum \limits _{y\mid j}\left [ gcd(x,y)=1 \right ]$blog
$\sum \limits _{i=1}^{N} \sum \limits _{j=1}^{M} \sum \limits _{x\mid i}\sum \limits _{y\mid j}\sum \limits _{g\mid gcd(i,j)}u(g)$it
$\sum \limits _{x=1}^{N}\sum \limits _{{i}'=1}^\left \lfloor \frac{N}{x} \right \rfloor \sum \limits _{y=1}^{M}\sum \limits _{{j}'=1}^{\left \lfloor \frac{M}{y} \right \rfloor}\sum \limits _{g\mid gcd(x,y)}u(g)$gc
$\sum \limits _{x=1}^{N}\sum \limits _{y=1}^{M} \sum \limits _{g\mid gcd(x,y)}u(g) \left \lfloor \frac{N}{xg} \right \rfloor \left \lfloor \frac{M}{yg} \right \rfloor$im
$\sum \limits _{g=1}^{min(N,M)} u(g)\sum \limits _{x=1}^{\left \lfloor \frac{N}{g} \right \rfloor}\sum \limits _{y=1}^{\left \lfloor \frac{M}{g} \right \rfloor}\left \lfloor \frac{N}{xg} \right \rfloor \left \lfloor \frac{M}{yg} \right \rfloor$d3
設$f(T)=\sum \limits _{T=1}^{N}\left \lfloor \frac{N}{T} \right \rfloor$img
那麼原式=$\sum \limits _{g=1}^{min(N,M)} u(g) f(\left \lfloor \frac{N}{g} \right \rfloor) f(\left \lfloor \frac{M}{g} \right \rfloor)$co
整除分塊預處理f函數就能夠了。d3