[大水]懒癌的恐怖
  • 板块灌水区
  • 楼主ReqCxmChtChr
  • 当前回复2
  • 已保存回复2
  • 发布时间2022/10/5 19:49
  • 上次更新2023/10/27 08:37:59
查看原帖
[大水]懒癌的恐怖
421451
ReqCxmChtChr楼主2022/10/5 19:49

所以有人能治一下我的懒癌吗

今天老师讲数论要我们切P2260,一下就想到其《同胞姊妹》P2261 打算写成这样 i=1n(nmodi)×j=1m(mmodj)\sum_{i=1}^{n}(n \bmod i) \times \sum_{j=1}^{m} (m \bmod j) 但我看到 iji\neq 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();
}

(省去了一些无用的东西) 然后就跑了。

所以有人能治一下我的懒癌吗

(收尾呼应)

2022/10/5 19:49
加载中...