【BZOJ2693】jzptab(莫比乌斯反演)(数学)
来源:互联网 发布:php防止接口频繁调用 编辑:程序博客网 时间:2024/04/24 19:19
题目大意:
求
多组数据
题解:
与这道题↓一样,但因为是多组数据,所以需要优化。
【BZOJ2154】Crash的数字表格
题解前面请看上面的博客,这里只讲优化。
因为
则
∵当
把
∴我们可以求出
设
可知
代码:
#include<cstdio>#include<algorithm>using namespace std;const long long MOD=100000009LL,MAXN=10000005LL;long long mu[MAXN],prime[MAXN/3LL],pcnt;long long sum[MAXN];bool noprime[MAXN];void init_mu();long long solve(long long,long long);int main(){ long long n,m,T; init_mu(); scanf("%lld",&T); while(T--) { scanf("%lld%lld",&n,&m); printf("%lld\n",solve(n,m)); } return 0;}void init_mu(){ noprime[1]=1; mu[1]=1LL; sum[1]=1LL; for(long long i=2LL;i<MAXN;i++) { if(!noprime[i]) { prime[++pcnt]=i; mu[i]=-1LL; sum[i]=-i+1; } for(long long j=1;j<=pcnt&&i*prime[j]<MAXN;j++) { noprime[i*prime[j]]=1; if(i%prime[j]==0) { long long tmp=i; while(tmp%prime[j]==0) tmp/=prime[j]; sum[i*prime[j]]=sum[tmp]*sum[prime[j]]; mu[i*prime[j]]=0LL; break; } sum[i*prime[j]]=sum[i]*sum[prime[j]]; mu[i*prime[j]]=-mu[i]; } } for(long long i=1;i<MAXN;i++) sum[i]=(sum[i-1]+((sum[i]*i)%MOD)+MOD)%MOD;}long long solve(long long n,long long m){ long long ret=0LL,last=0,tmp=0; if(n>m) swap(n,m); for(long long d=1LL;d<=n;d=last+1) { last=min(n/(n/d),m/(m/d)); tmp=(((((n/d)*(n/d+1LL))>>1LL)%MOD) *((((m/d)*(m/d+1LL))>>1LL)%MOD))%MOD; ret=(ret+(((sum[last]-sum[d-1]+MOD)%MOD)*tmp)%MOD)%MOD; } return ret;}
阅读全文
1 0
- 【BZOJ2693】jzptab(莫比乌斯反演)(数学)
- [BZOJ2693]jzptab(莫比乌斯反演)
- 【莫比乌斯反演】[HYSBZ/BZOJ2693]jzptab
- NKOJ3958(CQOI2015)(BZOJ2693) JZPTAB(莫比乌斯反演)
- 【NKOJ3958/BZOJ2693】【莫比乌斯反演】jzptab
- BZOJ 2693 jzptab(莫比乌斯反演)
- 【bzoj2693】【jzptable】【莫比乌斯反演】
- 2693: jzptab|莫比乌斯反演
- 【bzoj2693】jzptab【反演】
- 【BZOJ】【P2693】【jzptab】【题解】【莫比乌斯反演】
- BZOJ 2693 jzptab 莫比乌斯反演
- 【莫比乌斯反演】【数论】[ZBOJ 2693]jzptab
- bzoj 2693: jzptab 莫比乌斯反演
- BZOJ 2693 jzptab 莫比乌斯反演
- bzoj 2693 jzptab 莫比乌斯反演
- [BZOJ 2693]jzptab:莫比乌斯反演
- bzoj2693--莫比乌斯反演+积性函数线性筛
- 莫比乌斯进阶:bzoj 2693 jzptab(Mobius)
- 接口回调与观察者模式
- ios-开发技巧
- Eclipse插件开发(RCP)中IResource重命名方法
- 3
- 手动启动电脑上的DHCP服务
- 【BZOJ2693】jzptab(莫比乌斯反演)(数学)
- CSS3边框border-radius
- Nginx部署Thinkphp 404错误PathInfo的解决方案
- 一些算法名字
- 4
- [Matlab] MxArray 与 MwArray 使用区别
- nodejs
- oracle对汉字的排序
- 如何找到想要的资源?