您的位置:首页 > 其它

[除法分块] BZOJ1257: [CQOI2007]余数之和sum

2017-08-20 16:01 495 查看

题意

戳这里

题解

傻逼题。

∑i=1nm mod i=∑i=1nm−i×⌊mi⌋=nm−∑i=1ni×⌊mi⌋

直接分块。O(n√)

#include<cstdio>
#include<algorithm>
using namespace std;
typedef long long LL;
LL n,m,ans;
int main(){
scanf("%lld%lld",&m,&n);
for(LL i=1,nxt;i<=min(m,n);i=nxt+1){
nxt=n/(n/i); nxt=min(nxt,min(n,m));
ans+=(i+nxt)*(nxt-i+1)/2*(n/i);
}
ans=n*m-ans;
printf("%lld\n",ans);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: