[BZOJ 2154]Crash的数字表格:莫比乌斯反演
来源:互联网 发布:樱井知香作品封面番号 编辑:程序博客网 时间:2024/06/10 15:58
点击这里查看原题
太强了……还是看PoPoQQQ的题解吧
于是进行两次分块,求F(x,y)为sqrt(n),求ans也为sqrt(n),总复杂度O(n)
/*User:SmallLanguage:C++Problem No.:2154*/#include<bits/stdc++.h>#define ll long long#define inf 999999999using namespace std;const int M=1e7+5;const ll mod=20101009;int n,m,mu[M],prime[M],cnt;ll ans,sum[M];bool not_prime[M];ll gets(int n,int m){ n=(ll)n*(n+1)/2%mod; m=(ll)m*(m+1)/2%mod; return (ll)n*m%mod;}ll getf(int n,int m){ ll res=0; for(int i=1,r;i<=n;i=r+1){ r=min(n/(n/i),m/(m/i)); res=(res+(sum[r]-sum[i-1]+mod)%mod*gets(n/i,m/i)%mod)%mod; } return res;}int main(){ freopen("data.in","r",stdin);// scanf("%d%d",&n,&m); if(n>m) swap(n,m); mu[1]=1; for(int i=2;i<=n;i++){ if(!not_prime[i]){ prime[++cnt]=i; mu[i]=-1; } for(int j=1;j<=cnt&&i*prime[j]<=n;j++){ not_prime[i*prime[j]]=1; if(i%prime[j]==0){ mu[i*prime[j]]=0; break; } mu[i*prime[j]]=-mu[i]; } } for(int i=1;i<=n;i++) sum[i]=(sum[i-1]+(ll)i%mod*i%mod*mu[i]%mod)%mod; for(int i=1,r;i<=n;i=r+1){ r=min(n/(n/i),m/(m/i)); ans=(ans+(ll)(i+r)*(r-i+1)/2%mod*getf(n/i,m/i)%mod)%mod; } printf("%lld\n",ans); return 0;}
阅读全文
0 0
- BZOJ 2154 Crash的数字表格 莫比乌斯反演
- HYSBZ/BZOJ 2154 Crash的数字表格 - 莫比乌斯反演
- BZOJ-2154 && 2693 Crash的数字表格&&jzptab 莫比乌斯反演
- 【bzoj 2154】Crash的数字表格(莫比乌斯反演)
- BZOJ 2154(Crash的数字表格-莫比乌斯反演)
- BZOJ 2154 Crash的数字表格(sigma(lcm(i,j)),莫比乌斯反演)
- [莫比乌斯反演] BZOJ 2154 Crash的数字表格
- BZOJ 2154 Crash的数字表格(莫比乌斯反演)
- bzoj 2154: Crash的数字表格 莫比乌斯反演
- 【BZOJ 2154】Crash的数字表格 莫比乌斯反演
- [BZOJ 2154]Crash的数字表格:莫比乌斯反演
- 【BZOJ】【P2154】【Crash的数字表格】【题解】【莫比乌斯反演】
- [BZOJ2154]Crash的数字表格 && 莫比乌斯反演
- 【莫比乌斯反演】[BZOJ2154]Crash的数字表格
- 【bzoj2154】【Crash的数字表格】【莫比乌斯反演】
- bzoj2154 Crash的数字表格(莫比乌斯反演)
- 【莫比乌斯反演】关于Mobius反演与lcm的一些关系与问题简化(BZOJ 2154 crash的数字表格&&BZOJ 2693 jzptab)
- 2693: jzptab/2154: Crash的数字表格 莫比乌斯反演
- yii2-plus
- Retrofit使用总结
- 类转换为JSON的顺序问题
- Storm opaqueTridentKafkaSpout+HBaseMapState实例
- Caffe2:ubuntuKylin17.04使用Caffe2.LSTM
- [BZOJ 2154]Crash的数字表格:莫比乌斯反演
- C++中的static关键字
- 图片预加载3
- Mybatis中的 #{}与${}的区别
- firewalld(iptables)
- 洛谷 P3403 跳楼机
- 写给程序员的 Unicode 入门介绍
- 在开发过程中如何减少和避免硬编码
- Amazon Athena 常见问题