整除分块学习笔记

一般可以在如下形式的式子中使用:

\[\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\)

posted @ 2024-12-04 21:25  _E_M_T  阅读(16)  评论(0)    收藏  举报