整除分块

形式: ∑ i = 1 n ⌊ n / i ⌋ \sum_{i=1}^{n}\lfloor n/i \rfloor i=1nn/i
结论:对于 ⌊ n / i ⌋ \lfloor n/i \rfloor n/i相同的一段,其末尾是 ⌊ n / ⌊ n / i ⌋ ⌋ \lfloor n/\lfloor n/i \rfloor \rfloor n/n/i
证实不会。
代码( l l l是左端点, r r r是右端点):


spa

for (int l=1,r;l<=n;l=r+1)
{ 
	r=n/(n/l);
	ans+=(r-l+1)*(n/l);
}
相关文章
相关标签/搜索