莫比乌斯反演

这里还是口胡,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$

可以配其他数论函数前缀和使用。

原文地址:https://www.cnblogs.com/blog-Dr-J/p/10161185.html