P12828 「DLESS-2」XOR and Number Theory 题解
luanyanjia · · 题解
神秘复杂度水过了。
先来看这个
在看这个神秘的一看就是凑出来的条件,将
贡献全都是
我想过先
显然有直接暴力,对于一个
然后
合起来就是
inline void Solve(){
rd(n,m);
int ans=0;
for(int d=1;d<B&&d<=m;d++){
bt.reset();
int cnt=0;
for(int i=d,c=1;i+d<=n;i+=d,++c){
int k=i&(B-1);
if(bt[k]){
--c;
cnt+=((n-d)/d/c-1)*s[c]+s[((n-d)/d)%c];
break;
}
bt[k]=1;
s[c]=s[c-1];
if((i&d)==0)++cnt,++s[c];
}
Add(ans,1ll*cnt*d%mod*d%mod);
}
for(int d=B;d<=m;d++){
int cnt=0;
for(int i=d;i+d<=n;i+=d)
if((i&d)==0)++cnt;
Add(ans,1ll*cnt*d%mod*d%mod);
}
printf("%d\n",ans);
}