题意:给定一个整数N,你需要求出∑gcd(i, N)(1<=i <=N). 题解:考虑n的所有因子,假设有因子k,那么对答案的贡献gcd(i,n)==k的个数即gcd(i/k,n/k)==1的个数即n/k的欧拉函数,答案就是∑(k|n)k*φ(n/k) 枚举n的因子复杂度O(sqrt(n)),单次求欧拉函数复杂度O(sqrt(n)),复杂度O(n),但是实际跑起来比O(n)小很多 /********************************************************…
BZOJ2705 SDOI2012 Longge的问题 Description Longge的数学成绩非常好,并且他非常乐于挑战高难度的数学问题.现在问题来了:给定一个整数N,你需要求出∑gcd(i, N)(1<=i <=N). Input 一个整数,为N. Output 一个整数,为所求的答案. Sample Input 6 Sample Output 15 HINT [数据范围] 对于60%的数据,0<N<=2160<N<=216. 对于100%的数据,0<N…
Description Longge的数学成绩非常好,并且他非常乐于挑战高难度的数学问题.现在问题来了:给定一个整数N,你需要求出∑gcd(i, N)(1<=i <=N). Input 一个整数,为N. Output 一个整数,为所求的答案. Sample Input 6 Sample Output 15 HINT [数据范围] 对于60%的数据,0<N<=2^16. 对于100%的数据,0<N<=2^32.   丝帛题,枚举gcd(n,i),将N的所有约数求出来,然后…
Description Longge的数学成绩非常好,并且他非常乐于挑战高难度的数学问题.现在问题来了:给定一个整数N,你需要求出∑gcd(i, N)(1<=i <=N).   Solution 如果我们考虑每个gcd的贡献 那么k作为约数的贡献就是k*phi(n/k) 于是只需要枚举约数计算phi就行了 然而这好像是暴力=v= 然而约数也不可能很多 这么打也非常快 另:从这里也可以推出Σ[d|n]φ(d)=n 考虑phi函数计算 感觉可以考虑pi的贡献 然而我并是理不太清于是弃疗了 官方题解…
Description Longge的数学成绩非常好,并且他非常乐于挑战高难度的数学问题.现在问题来了:给定一个整数N,你需要求出∑gcd(i, N)(1<=i <=N). Input 一个整数,为N. Output 一个整数,为所求的答案. Sample Input 6 Sample Output 15 HINT [数据范围] 对于60%的数据,0<N<=2^16. 对于100%的数据,0<N<=2^32. ——————————————————————— 这道题如果一…
题意 题目链接 Sol 开始用反演推发现不会求\(\mu(k)\)慌的一批 退了两步发现只要求个欧拉函数就行了 \(ans = \sum_{d | n} d \phi(\frac{n}{d})\) 理论上来说复杂度是\(O(n)\)的,但是\(d\)的值十分有限.在\(2^{32}\)内最多的约数也只有1920个. /* */ #include<bits/stdc++.h> #define LL long long #define int long long const int MAXN =…
∵∑gcd(i, N)(1<=i <=N) =k1*s(f1)+k2*s(k2)+...+km*s(km) {ki是N的约数,s(ki)是满足gcd(x,N)=ki(1<=x<=N)的x的个数} ∴gcd(x,N)=ki (1<=x<=N)  <=>  gcd(x/ki,N/ki)=1 (1<=x/ki<=N/ki) gcd(x/ki,N/ki)=1 (1<=x/ki<=N/ki) 的x的个数 即为φ(N/ki) ∴ans=∑φ(N/…
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2705 首先分析得题目所求$gcd(i,N)$的取值只可能是$N$的因子,则有$$Ans=\sum_{d|N}d\sum_{i=1}^N[gcd(i,N)==d]$$ $$Ans=\sum_{d|N}d\sum_{i=1}^{\frac{N}{d}}[gcd(i,\frac{N}{d})==1]$$ $$Ans=\sum_{d|N}dφ(\frac{N}{d})$$ 我们可以枚举$N$的因…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2705 一开始自己想了半天... 有了点思路:遍历 n 的因数 k,每个因数要预处理出 gcd 等于这个因数的数的个数 s[k]: 预处理过程中还要去重:s[k] = (n-1) / k , s[k] -= s[2*k] + s[3*k] +......,&(*%$^&... 正要勇猛去写的时候还是点开了TJ,然后被自己的愚蠢暴击... 考虑 gcd ( n , m ) = k 的 m…
2705: [SDOI2012]Longge的问题 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 2507  Solved: 1531[Submit][Status][Discuss] Description Longge的数学成绩非常好,并且他非常乐于挑战高难度的数学问题.现在问题来了:给定一个整数N,你需要求出∑gcd(i, N)(1<=i <=N). Input 一个整数,为N. Output 一个整数,为所求的答案. Sample Inp…