ACM—除法分块

ACM—除法分块_第1张图片

for(LL l = 1,r;l <= n;l = r + 1){
        r = n / (n / l);
        //向下取整的答案为 (n / l)
        //区间长度为(r - 1 +1)
        //这里操作
        }

ACM—除法分块_第2张图片

LL get_sum(LL n){
    LL ans = 0;
    for(LL l = 1,r;l <= n;l = r + 1){
        r = n / (n / l);
        ans += (n / l) * (l + r) * (r - l + 1) / 2;
        }
    return ans;
    }

转自:https://www.cnblogs.com/Tony-Double-Sky/p/9490077.html

你可能感兴趣的:(ACM知识点)