[BZOJ 2705][SDOI2012]Longge的问题:欧拉函数
来源:互联网 发布:php 打印数组内容 编辑:程序博客网 时间:2024/06/05 08:21
点击这里查看原题
求sigma(gcd(i,n)),枚举n的约数k,s(k)表示满足gcd(i,n)=k(1<=i<=n)的i的个数,所以答案为sigma(k*s(k)),求s(k)即为求gcd(i/k,n/k),即为phi(n/k)。
/*User:SmallLanguage:C++Problem No.:2705*/#include<bits/stdc++.h>#define ll long long#define inf 999999999using namespace std;ll n,ans;ll phi(ll n){ ll res=n; for(ll i=2;i*i<=n;i++){ if(n%i==0){ res=res/i*(i-1); while(n%i==0) n/=i; } } if(n!=1) res=res/n*(n-1); return res;}int main(){ freopen("data.in","r",stdin);// scanf("%lld",&n); int m=sqrt(n); for(int i=1;i<=m;i++){ if(n%i==0){ ans+=(ll)i*phi(n/i); if((ll)i*i!=n) ans+=(ll)(n/i)*phi(i); } } printf("%lld\n",ans); return 0;}
阅读全文
0 0
- 【bzoj】2705 - [SDOI2012]Longge的问题(欧拉函数)
- bzoj 2705: [SDOI2012]Longge的问题 欧拉函数
- 【BZOJ 2705】[SDOI2012]Longge的问题 欧拉函数
- [BZOJ 2705][SDOI2012]Longge的问题:欧拉函数
- bzoj 2705: [SDOI2012]Longge的问题(欧拉函数)
- bzoj 2705 [SDOI2012]Longge的问题 欧拉函数
- BZOJ-2705-Longge的游戏-SDOI2012-欧拉函数
- BZOJ 2705([SDOI2012]Longge的问题-欧拉函数φ(i))
- BZOJ 2705 SDOI2012 Longge的问题 因数分解+欧拉函数
- bzoj 2705: [SDOI2012]Longge的问题 【欧拉函数求GCD】
- 2705: [SDOI2012]Longge的问题 欧拉函数
- 2705: [SDOI2012]Longge的问题|欧拉函数
- HYSBZ 2705: [SDOI2012]Longge的问题【欧拉函数】
- 2705: [SDOI2012]Longge的问题 欧拉函数
- [BZOJ2480]SDOI2012 Longge的问题|欧拉函数
- BZOJ2705 [SDOI2012]Longge的问题(欧拉函数)
- [欧拉函数]Bzoj2705 Longge的问题[SDOI2012]
- 【bzoj2705】【sdoi2012】【longge的问题】【欧拉函数】
- user-select的用法
- ssm(maven)日常笔记
- c++5
- php实现页面跳转
- 各种编码UNICODE、UTF-8、ANSI、ASCII、GB2312、GBK详解
- [BZOJ 2705][SDOI2012]Longge的问题:欧拉函数
- 模块介绍和序列化模块
- Mysql优化面试题
- 如何设置滚动条样式?
- webStorm的常用快捷键
- Oracle的substr函数简单用法
- 可视化证明神经网络可以计算任何函数
- C语言qsort函数如何使用
- 第一行代码第二版(郭霖著)笔记之第十一章(百度地图)