【BZOJ2154】Crash的数字表格(莫比乌斯反演)(数学)
来源:互联网 发布:vba有数据库吗 编辑:程序博客网 时间:2024/05/18 01:00
题目大意:
求
题解:
设
∴
可以做了
代码:
#include<cstdio>#include<algorithm>using namespace std;const long long MOD=20101009LL,MAXN=10000005LL;long long sum_mu[MAXN],prime[MAXN/3LL],pcnt;bool noprime[MAXN];void init_mu(int);long long solve(long long,long long);long long f(long long,long long);long long sum(long long,long long);int main(){ long long n,m; scanf("%lld%lld",&n,&m); init_mu(min(n,m)); printf("%lld\n",solve(n,m)); return 0;}void init_mu(int N){ noprime[1]=1; sum_mu[1]=1LL; for(long long i=2LL;i<=N;i++) { if(!noprime[i]) { prime[++pcnt]=i; sum_mu[i]=-1LL; } for(long long j=1;j<=pcnt&&i*prime[j]<=N;j++) { noprime[i*prime[j]]=1; if(i%prime[j]==0) { sum_mu[i*prime[j]]=0LL; break; } sum_mu[i*prime[j]]=-sum_mu[i]; } } for(long long i=1LL;i<=N;i++) sum_mu[i]=(sum_mu[i-1]+((((i*i)%MOD)*sum_mu[i])%MOD))%MOD;}long long solve(long long n,long long m){ long long ret=0LL,last; if(n>m) swap(n,m); for(long long d=1LL;d<=n;d=last+1) { last=min(n/(n/d),m/(m/d)); ret=(ret+((sum(d,last)*f(n/d,m/d))%MOD))%MOD; } return ret;}long long f(long long x,long long y){ if(x>y) swap(x,y); long long ret=0LL,last,tmp; for(long long k=1LL;k<=x;k=last+1LL) { last=min(x/(x/k),y/(y/k)); tmp=(((((x/k)*(x/k+1LL))>>1LL)%MOD) *((((y/k)*(y/k+1LL))>>1LL)%MOD))%MOD; ret=(ret+(((sum_mu[last]-sum_mu[k-1]+MOD)%MOD)*tmp)%MOD)%MOD; } return ret;}long long sum(long long a,long long b){ long long ret; ret=(((a+b)*(b-a+1LL))>>1LL)%MOD; return ret;}
阅读全文
1 0
- 【BZOJ2154】Crash的数字表格(莫比乌斯反演)(数学)
- [BZOJ2154]Crash的数字表格 && 莫比乌斯反演
- 【莫比乌斯反演】[BZOJ2154]Crash的数字表格
- 【bzoj2154】【Crash的数字表格】【莫比乌斯反演】
- bzoj2154 Crash的数字表格(莫比乌斯反演)
- [BZOJ2154]Crash的数字表格(莫比乌斯反演)
- 【BZOJ2154】Crash的数字表格,数论练习之二维LCM(莫比乌斯反演)
- [BZOJ2154]Crash的数字表格(莫比乌斯反演)
- bzoj2154: Crash的数字表格/2693: jzptab [莫比乌斯反演、数论推导]
- 【bzoj2154/2693】Crash的数字表格/jzptab 莫比乌斯反演
- 【莫比乌斯反演】[HYSBZ\BZOJ2154]Crash的数字表格
- 【莫比乌斯反演】BZOJ2154[Crash的数字表格]题解
- 【bzoj 2154】Crash的数字表格(莫比乌斯反演)
- BZOJ 2154 Crash的数字表格(sigma(lcm(i,j)),莫比乌斯反演)
- BZOJ 2154 Crash的数字表格(莫比乌斯反演)
- [BZOJ2154]Crash的数字表格(数论)
- 【BZOJ】【P2154】【Crash的数字表格】【题解】【莫比乌斯反演】
- BZOJ 2154 Crash的数字表格 莫比乌斯反演
- (转)Rust:Vec、String 内存布局
- 百度无人车ApolloAuto使用入门
- bzoj/hysbz-2440-完全平方数
- Android官方BottomNavigationView添加Badge(角标)
- Android系统广播大全
- 【BZOJ2154】Crash的数字表格(莫比乌斯反演)(数学)
- Android Uri和文件路径互相转换
- mysql导入的一些问题
- 第一天
- TensorFlow学习笔记(一)安装、配置、基本用法
- Marching squares
- CSS的学习【最后编辑2017.7.13】
- Android之BroadcastReceiver广播接收者
- 【Cython】Cython三分钟入门教程