∑ i = 1 n n i \sum_{i=1}^{n} \frac{n}{i} i=1∑nin
当我们要求上面式子的时候,很自然想到 O(n) 复杂度的解法,但是如果在多组输入的情况下,这样的复杂度可能不够优秀,这时我们就要用到整除分块的方法。
for(int l=1,r;l<=n;l=r+1)
{
r=n/(n/l);
ans+=(r-l+1)*(n/l);
}
∑ i = 1 n n i \sum_{i=1}^{n} \frac{n}{i} i=1∑nin
当我们要求上面式子的时候,很自然想到 O(n) 复杂度的解法,但是如果在多组输入的情况下,这样的复杂度可能不够优秀,这时我们就要用到整除分块的方法。
for(int l=1,r;l<=n;l=r+1)
{
r=n/(n/l);
ans+=(r-l+1)*(n/l);
}