[BZOJ2818]Gcd
来源:互联网 发布:mac腾讯助手官方下载 编辑:程序博客网 时间:2024/05/29 08:41
原题地址
然后根据欧拉函数性质:
ϕ(n)={ϕ(np)×p (npmod p=0)ϕ(np)×(p−1) (npmod p≠0)
为什么?你想一下通式…
然后就可以同时求质数表和欧拉函数了,具体见下面代码.
AC code:
#include <cstdio>typedef long long ll;const int N=10000010;int n,tot;int prime[N],phi[N];bool flag[N];ll ans;ll S[N];int main(){ scanf("%d",&n); phi[1]=S[1]=1; for(int i=2;i<=n;i++){ if(!flag[i]){ prime[++tot]=i; phi[i]=i-1; } for(int j=1;j<=tot&&i*prime[j]<=n;j++){ flag[i*prime[j]]=1; if(i%prime[j]) phi[i*prime[j]]=phi[i]*(prime[j]-1); else{ phi[i*prime[j]]=phi[i]*prime[j]; break; } } } for(int i=2;i<=n;i++) S[i]=S[i-1]+(phi[i]<<1); for(int i=1;i<=tot;i++) ans+=S[n/prime[i]]; printf("%lld\n",ans); return 0;}
0 0
- 【BZOJ2818】Gcd
- [BZOJ2818] Gcd
- [BZOJ2818]Gcd
- bzoj2818 Gcd
- [BZOJ2818]Gcd
- [bzoj2818]gcd
- [bzoj2818]gcd
- 【bzoj2818】Gcd
- BZOJ2818: Gcd
- bzoj2818 Gcd
- 【bzoj2818】Gcd
- bzoj2818: Gcd
- bzoj2818 Gcd
- BZOJ2818: Gcd
- BZOJ2818 Gcd
- 【bzoj2818】【GCD】【数论】
- bzoj2818: Gcd(第二次做)
- BZOJ2818 Gcd 素数筛+欧拉筛
- 保持好奇心,让程序员永远年轻
- 程序员如何开始你的 SOHO 之旅 (2)
- UIScrollview
- 黑马程序员——struts2学习笔记二(结果类型)
- Oracle 游标使用全解
- [BZOJ2818]Gcd
- Construct Binary Tree from Preorder and Inorder Traversal
- hdoj1045
- 消息队列操作函数
- 实战SOHO接单的全过程
- hdu1272 小希的迷宫
- 友元类
- AOP初级
- android学习四:xml