这里还是口胡,dalao和萌新请绕道。
总体来说,就是$sum$来回导的问题。
主要需要注意一点,那就是在交换$sum$时对于任意一个元素,枚举次数不能改变。
最重要的式子:
${sum_{i=1}^{N}}{sum_{j=1}^{M}}varepsilon(gcd(i,j))$
$={sum_{i=1}^{N}}{sum_{j=1}^{M}}{sum_{d|gcd(i,j)}}{mu (d)}$
$={sum_{d=1}^{min(N,M)}}{sum_{d|i}^{N}}{sum_{d|j}^{M}}{mu(d)}$
$={sum_{d=1}^{min(N,M)}}{mu(d)}{sum_{d|i}^{N}}1{sum_{d|j}^{M}}1$
$={sum_{d=1}^{min(N,M)}}{mu(d)}{sum_{i=1}^{left lfloor {frac{N}{d}} ight floor}}1{sum_{j=1}^{leftlfloor{frac{M}{d}} ight floor}}1$
$={sum_{d=1}^{min(N,M)}}{mu(d)}{leftlfloor{frac{N}{d}} ight floor}{leftlfloor{frac{M}{d}} ight floor}$
第二个就是整除分块
${sum_{i=1}^{N}{leftlfloor{frac{N}{i}} ight floor}}$一共有$sqrt{N}$种取值
其中每个取值的结尾为$left lfloor {frac{N}{left lfloor {frac{N}{i}} ight floor}} ight floor$
可以配其他数论函数前缀和使用。