【莫比乌斯反演】BZOJ2818 Gcd
来源:互联网 发布:幻 游戏 知乎 编辑:程序博客网 时间:2024/05/18 11:25
题面在这里
反演裸题不解释
示例程序:
#include<cstdio>#include<algorithm>using namespace std;typedef long long ll;const int maxn=10000005;int n,p[maxn],mu[maxn],N=maxn-5;ll f[maxn];bool vis[maxn];void prepare(){ mu[1]=1;N=min(N,n); for (int i=2;i<=N;i++){ if (!vis[i]) p[++p[0]]=i,mu[i]=-1; for (int j=1;j<=p[0]&&i*p[j]<=N;j++){ vis[i*p[j]]=1; if (i%p[j]==0) {mu[i*p[j]]=0;break;} else mu[i*p[j]]=-mu[i]; } } for (int i=1;i<=p[0];i++) for (int j=1;p[i]*j<=N;j++) f[p[i]*j]+=mu[j]; for (int i=1;i<=N;i++) f[i]+=f[i-1];}int main(){ scanf("%d",&n);ll ans=0; prepare(); for (int d=1,lst=0;d<=n;d=lst+1){ lst=n/(n/d); ans+=(ll)(f[lst]-f[d-1])*(n/d)*(n/d); } printf("%lld",ans); return 0;}
阅读全文
1 0
- 【BZOJ2818】Gcd(莫比乌斯反演)
- BZOJ2818 Gcd[莫比乌斯反演]
- 【莫比乌斯反演】BZOJ2818 Gcd
- BZOJ2818 GCD 【莫比乌斯反演】
- [BZOJ2818]Gcd(莫比乌斯反演)
- [BZOJ2818]Gcd(莫比乌斯反演)
- bzoj2818 欧拉函数、莫比乌斯反演
- HDU1695 GCD(莫比乌斯反演)
- GCD问题--莫比乌斯反演
- hdu1695 gcd 莫比乌斯反演
- [hdu1695][莫比乌斯反演]Gcd
- BZOJ2818:Gcd(莫比乌斯函数 & 欧拉函数)
- HDU1695 GCD 数论之 莫比乌斯反演
- 莫比乌斯反演 hdu 4676 Sum Of Gcd
- ACdream 1148 GCD SUM 莫比乌斯反演
- hdu 4947 GCD Array 莫比乌斯反演
- HDU-1695-GCD(莫比乌斯反演)
- hdu1695 GCD(莫比乌斯反演)
- Linux 中如何卸载已安装的软件
- 测试报告参考规范之测试需求
- 小白每天学习两个函数D7-( sprintf,fprintf)
- c++中字符串与数字的转换
- windows操作系统基础知识 API+DLL
- 【莫比乌斯反演】BZOJ2818 Gcd
- 5.K-means 聚类算法
- Python之if判断语句
- mybatis逆向工程 去除表字段前缀 匹配所有表名
- 求积分 [matlab]
- java高效 的判断数组中是否包含特定值
- node搭建服务器详解及模块化
- Python-dict
- bzoj1316 树上的询问(多个定值树链询问)