[BZOJ2705][SDOI2012]Longge的问题
来源:互联网 发布:重庆大数据产业园 编辑:程序博客网 时间:2024/04/29 08:59
原题地址
AC code:
#include <cstdio>#include <vector>#include <map>using namespace std;typedef long long ll;ll n,y=1,ans;vector<ll> a;map<ll,ll> tot;ll power(ll x,ll y){ if(!y) return 1; ll t=power(x,y>>1); t*=t; if(y&1) t*=x; return t;}void work(ll k){ if(k==a.size()){ if(!y) return ; ll t=n/y,fi=1; for(ll j=2;j*j<=t;j++){ ll cnt=0; while(!(t%j)){ cnt++;t/=j; } if(cnt) fi*=power(j,cnt-1)*(j-1); } if(t!=1) fi*=t-1; ans+=fi*y; return ; } for(ll i=0;i<=tot[a[k]];i++){ y*=power(a[k],i); work(k+1); y/=power(a[k],i); }}int main(){ scanf("%lld",&n); if(n==1){ printf("1\n"); return 0; } ll t=n; for(ll i=2;i*i<=n;i++){ if(t%i) continue; a.push_back(i); while(!(t%i)){ tot[i]++;t/=i; } } if(t!=1){ a.push_back(t); tot[t]++; } work(0); printf("%lld\n",ans); return 0;}
0 0
- bzoj2705[SDOI2012]Longge的问题
- 【SDOI2012】【BZOJ2705】Longge的问题
- [BZOJ2705][SDOI2012]Longge的问题
- BZOJ2705: [SDOI2012]Longge的问题
- bzoj2705 [SDOI2012]Longge的问题
- BZOj2705: [SDOI2012]Longge的问题
- BZOJ2705 [SDOI2012]Longge的问题
- [BZOJ2705][SDOI2012]Longge的问题
- BZOJ2705: [SDOI2012]Longge的问题
- bzoj2705【SDOI2012】Longge的问题
- Longge的问题[SDOI2012][bzoj2705]
- BZoj2705: [SDOI2012]Longge的问题
- 【SDOI2012】bzoj2705 Longge的问题
- bzoj2705: [SDOI2012]Longge的问题
- BZOJ2705: [SDOI2012]Longge的问题
- bzoj2705[SDOI2012] Longge的问题
- bzoj2705 [SDOI2012]Longge的问题
- 【bzoj2705】[SDOI2012]Longge的问题
- 解释型语言与编译型语言的区别
- PANIC: Could not open:
- POJ 3709 K-Anonymous Sequence (斜率优化DP)
- Nginx安装
- ListView与BaseAdapter优化
- [BZOJ2705][SDOI2012]Longge的问题
- MTD应用学习:mtd和mtdblock的区别
- json实现部门二级联动
- 《Java编程思想》第五章练习5答案
- 周日和周一的人群行为差异
- TCP/IP四层结构
- 花生壳(内网版)做远程桌面登陆
- MFC+多线程+对话框+进度条
- win10没有声音的解决办法