其他分享
首页 > 其他分享> > [题解](数学)BZOJ_1257_余数求和

[题解](数学)BZOJ_1257_余数求和

作者:互联网

来源:https://blog.csdn.net/loi_dqs/article/details/50522975

并不知道为什么是sqrt(n)的段数......书上写的看不懂......

但是这个思路好难想(打表大法好

#include<bits/stdc++.h>
#define ll long long
using namespace std;
int n,k;
ll ans;
int main(){
    scanf("%d%d",&n,&k);
    ans=(ll)n*k;
    if(n>k)n=k;
    int l,r,w;
    for(int i=1;i<=n;i=r+1){
        w=k/i;
        l=i;r=k/w;
        if(r>n)r=n;
        ans-=(r-l+1)*w*(l+r)/2;
    }
    printf("%lld",ans);
}

 

标签:int,题解,ll,好难,long,1257,ans,......,BZOJ
来源: https://www.cnblogs.com/superminivan/p/10846890.html