整除分块学习笔记
一般可以在如下形式的式子中使用:
\[\sum\limits_{i=1}^n\left \lfloor \frac{n}{i} \right \rfloor
\]
容易发现这个式子的取值是一段一段的,考虑一起处理贡献,复杂度 \(O(\sqrt n)\)。
for(int i=1,k=0;i<=n;i=k+1)
{
k=n/(n/i);
ans+=(k-i+1)*(n/i);
}
另外还有一个性质 \(\left \lfloor \dfrac{\left \lfloor \frac{a}{b} \right \rfloor}{c} \right \rfloor=\left \lfloor \dfrac{a}{bc} \right \rfloor\)。

浙公网安备 33010602011771号