Longge的问题 [Bzoj 2705,SDOI2012]

原创 2016年06月01日 13:25:43

题目地址请点击——


Longge的问题


问题描述

Longge 的数学成绩非常好,并且他非常乐于挑战高难度的数学问题。
现在问题来了:给定一个整数 N,你需要求出 Ni=1gcd(i,N)


输入描述

一个整数,为 N


输出描述

一个整数,为所求的答案。


样例输入

6


样例输出

15


HINT

对于 60% 的数据,0<N<=216

对于 100% 的数据,0<N<=232


Solution

x1x2x3,……,xknk 个因数,f(i) 表示满足 gcd(j,n)=i (1<=j<=n)j 的个数。

 ans=ki=1f(xi)xi

显然,f(1)=φ(n)

那么,如何计算 f(k) (k>1) 呢?

 gcd(j,n)=i (1<=j<=n)gcd(ji,ni)=1f(i)=φ(ni)

 ans=ki=1φ(nxi)xi


Code

[cpp]
  1. #include <iostream>  
  2. #include <cstdio>  
  3. #include <cmath>  
  4.   
  5. #define LL long long  
  6.   
  7. using namespace std;  
  8.   
  9. LL n,sqr,ans;  
  10.   
  11. LL phi(LL x){  
  12.     LL tmp=x,tmp2=x,sqr=(LL)sqrt((double)x);  
  13.     for(LL i=2;i<=sqr;i++){  
  14.         if(x%i==0){  
  15.             tmp=tmp*(i-1)/i;  
  16.             while(x%i==0)x/=i;  
  17.         }  
  18.     }  
  19.     if(x!=1)tmp=tmp*(x-1)/x;  
  20.     return tmp;  
  21. }  
  22.   
  23. int main(){  
  24.     scanf(”%lld”,&n);  
  25.     sqr=(LL)sqrt((double)n);  
  26.     for(LL i=1;i<=sqr;i++)  
  27.         if(!(n%i)){  
  28.             ans+=i*phi(n/i);  
  29.             if(i!=n/i)ans+=(n/i)*phi(i);  
  30.         }  
  31.     printf(”%lld\n”,ans);  
  32.     return 0;  
  33. }  
版权声明:写得不好,随便转载,但请注明出处,感激不尽

Longge的问题[SDOI2012][bzoj2705]

问题描述 DescriptionLongge Longge 的数学成绩非常好,并且他非常乐于挑战高难度的数学问题。现在问题来了:给定一个整数 N N ,你需要求出 ∑Ni=1gcd(i,N) \s...

[BZOJ 2705] SDOI 2012 Longge的问题 · 欧拉函数

首先这题如果想用O(N)做就too native了~ 所以我们就要寻求更有效的算法。 其实hzwer讲得挺好的: 题目中要求出∑gcd(i,N)(1 枚举n的约数k,令s(k)为满足g...
  • ycdfhhc
  • ycdfhhc
  • 2015年04月30日 18:16
  • 282

【bzoj 2705】【codevs 2315】[SDOI2012]Longge的问题(莫比乌斯反演)

弹指流年,拂歌尘散

【bzoj】2705 - [SDOI2012]Longge的问题(欧拉函数)

点击打开题目 2705: [SDOI2012]Longge的问题 Time Limit: 3 Sec  Memory Limit: 128 MB Submit: 2331  Solv...
  • wyg1997
  • wyg1997
  • 2016年07月23日 16:57
  • 133

BZOJ2705 [SDOI2012]Longge的问题 【欧拉函数】

2705: [SDOI2012]Longge的问题 Time Limit: 3 Sec  Memory Limit: 128 MB Submit: 3325  Solved: 2082 [Sub...

bzoj2705 [SDOI2012]Longge的问题

Description Longge的数学成绩非常好,并且他非常乐于挑战高难度的数学问题。现在问题来了:给定一个整数N,你需要求出∑gcd(i, N)(1...

新视野OJ 2705 [SDOI2012]Longge的问题 (数论)

传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2705 题解:求 sigma(gcd(i,n), 1 又是令gcd(i, n) =...

[SDOI2012]Longge的问题(数论,欧拉函数)

[SDOI2012]Longge的问题P2303题目描述 Longge的数学成绩非常好,并且他非常乐于挑战高难度的数学问题。现在问题来了:给定一个整数N,你需要求出∑gcd(i, N)(1...

欧拉函数-洛谷P2303 [SDOi2012]Longge的问题

https://www.luogu.org/problem/show?pid=2303 欧拉函数,这种数学题基本上就是看到题目懵逼,看题解时大悟,写代码是大雾; 我们聊聊简单的欧拉函数; 欧拉函...

[BZOJ]2707: [SDOI2012]走迷宫 期望+高斯消元

高斯消元
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Longge的问题 [Bzoj 2705,SDOI2012]
举报原因:
原因补充:

(最多只允许输入30个字)