所以有人能治一下我的懒癌吗
今天老师讲数论要我们切P2260,一下就想到其《同胞姊妹》P2261
打算写成这样
∑i=1n(nmodi)×∑j=1m(mmodj)
但我看到 i=j时很生气就无脑的写了个这个
#include<bits/stdc++.h>
using namespace std;
namespace P2260{
const ll MOD=19940417;
ll h(ll n,ll k){
ll l=1,r,an=0;
n=min(n,k);
while(l<=n){
if(k/l!=0)
r=min(n,k/(k/l));
else
r=n;
an+=(r-l+1)*(k/l)%MOD*(l+r)%MOD*9970209%MOD;
l=r+1;
}
return (n*k%MOD-an+MOD)%MOD;
}
void solve(){
ll n,m;
cin>>n>>m;
ll ans=h(n,n)*h(m,m);
for(int i=1;i<=min(n,m);i++){
ans=(ans-(n%i)*(m%i)+MOD)%MOD;
}
cout<<ans;
}
}
int main(){
P2260::solve();
}
(省去了一些无用的东西)
然后就跑了。
所以有人能治一下我的懒癌吗
(收尾呼应)