[bzoj2226][Spoj 5971] LCMSum
2018-01-11 11:35
411 查看
Orz w_yqts
转换成欧拉函数..
转换成欧拉函数..
#include <bits/stdc++.h> using namespace std; #define ll long long #define N 1000001 int pn,pr ,phi ,flag ; ll f ; inline void solve() { ll res=0LL; int n; scanf("%d",&n); for (int i=1;i*i<=n;++i) if (n%i==0) { res+=f[i]; if (i*i!=n) res+=f[n/i]; } printf("%lld\n",res*n); } int main() { flag[1]=phi[1]=f[1]=1; for (int i=2;i<N;++i) { if (!flag[i]) pr[++pn]=i,phi[i]=i-1; for (int j=1;j<=pn && pr[j]*i<N;++j) { flag[i*pr[j]]=1; if (i%pr[j]==0) {phi[i*pr[j]]=phi[i]*pr[j];break;} phi[i*pr[j]]=phi[i]*phi[pr[j]]; } } for (int i=2;i<N;++i) f[i]=(ll)(i)*phi[i]/2; int T; cin>>T; while (T--) solve(); }
相关文章推荐
- 【BZOJ2226】[Spoj 5971] LCMSum 莫比乌斯反演(欧拉函数?)
- BZOJ 2226 [Spoj 5971] LCMSum 最大公约数之和 | 数论
- bzoj 2226: [Spoj 5971] LCMSum (反演)
- BZOJ 2226 [Spoj 5971] LCMSum 数论
- 【bzoj2226】[Spoj 5971] LCMSum 欧拉函数
- bzoj 2226: [Spoj 5971] LCMSum 数学+欧拉函数
- BZOJ 2226 【SPOJ 5971】 LCMSum
- [BZOJ]2226: [Spoj 5971] LCMSum 欧拉函数(或莫比乌斯反演)
- BZOJ 2226 [Spoj 5971] LCMSum | 数论拆式子
- bzoj 2226: [Spoj 5971] LCMSum 数论
- [欧拉函数] BZOJ 2226 [Spoj 5971] LCMSum
- BZOJ 2226 Spoj 5971 LCMSum 数论
- BZOJ2226: [Spoj 5971] LCMSum
- bzoj2226 [Spoj 5971] LCMSum(反演(互质数之和的公式))
- [BZOJ2226][Spoj 5971] LCMSum(莫比乌斯反演)
- BZOJ 2226: [Spoj 5971] LCMSum( 数论 )
- BZOJ 2226: [Spoj 5971] LCMSum(数论+欧拉函数)
- bzoj 2226: [Spoj 5971] LCMSum线性筛欧拉函数
- bzoj 2226 LCMSum 欧拉函数
- [bzoj2226][SPOJ5971]LCMSUM