\(gcd(x,y)=p | p∈P\)
\(gcd(x_1\times p,y_1\times p) = p\)
\(gcd(x_1,y_1)=1\)

每个素数的贡献是对于\([1,\lfloor\frac{n}{prime[i]}\rfloor]\)里的每个数的欧拉函数的前缀和,因为\((x_1,y_1)\)可以交换,就乘上2,重复计算了\((1,1)\),还要减去1

#include <bits/stdc++.h>
using namespace std;#define read2(a, b) (read(a), read(b))
#define read3(a, b, c) (read(a), read(b), read(c))const int inf = 0x3f3f3f3f-1;
const int MAXN = 1e7+7;template<class T> void read(T & x) {register int c = getchar(), f = 1;x = 0;while(!isdigit(c)) {if (c == '-') f = -f;c = getchar();}while(isdigit(c)) x = x * 10 + c - '0', c = getchar();x *= f;
}int prime[MAXN], n, tot, phi[MAXN], m;
long long ans, pre[MAXN];
bool notprime[MAXN];void calcphi() {phi[1] = 1;for(int i = 2; i <= n; ++i) {if (!notprime[i]) prime[++tot] = i, phi[i] = i - 1;for(int j = 1; j <= tot; ++j) {if (i * prime[j] > n) break;notprime[i * prime[j]] = 1;if (i % prime[j] == 0) {phi[i * prime[j]] = phi[i] * prime[j];break;}else phi[i * prime[j]] = phi[i] * phi[prime[j]];}}
}int main(void) {cin >> n;calcphi();for(int i = 1; i <= n; ++i) pre[i] = pre[i-1] + phi[i];for(int i = 1; i <= tot; ++i) ans += pre[n / prime[i]] * 2 - 1;cout << ans;return 0;
}

转载于:https://www.cnblogs.com/storz/p/10191494.html

[BZOJ2818][P2568]Gcd[欧拉函数]相关推荐

  1. jzoj3509-倒霉的小C【gcd,欧拉函数】

    正题 大意 画n条线,每次坐标变换为(x+n,y+(−1)(i+1)∗i)(i=1∼n)(x+n,y+(-1)^{(i+1)}*i) \ \ \ (i=1\sim n)(x+n,y+(−1)(i+1) ...

  2. HDU 2588 GCD(欧拉函数)

    GCD 思路 题目要求,对于给定的n,mn, mn,m要求有多少数∑i=1ngcd(i,n)>=m\sum _{i = 1} ^{n} gcd(i, n) >= m∑i=1n​gcd(i, ...

  3. 中gcd函数_欧拉函数φ(n)的计算及欧拉定理

    1 欧拉函数定义 在数论中,对正整数n,欧拉函数φ(n)是小于或等于n的正整数中与n互质的数的数目.此函数以其首名研究者欧拉命名,它又称为φ函数(由高斯所命名)或是欧拉总计函数(totient fun ...

  4. hdu (欧拉函数+容斥原理) GCD

    题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1695 看了别人的方法才会做 参考博客http://blog.csdn.net/shiren_Bod/ar ...

  5. hdu 4983 Goffi and GCD(欧拉函数)

    Problem Description Goffi is doing his math homework and he finds an equality on his text book: gcd( ...

  6. GCD - Extreme(欧拉函数变形)

    题目链接:https://vjudge.net/problem/UVA-11426 题目大意: 给出整数n∈[2,4000000],求解∑gcd(i,j),其中(i,j)满足1≤i<j≤n. 的 ...

  7. UVA11424 GCD - Extreme (I)【欧拉函数打表】

    Given the value of N, you will have to find the value of G. The definition of G is given below: G=∑i ...

  8. UVA11426 GCD - Extreme (II)【欧拉函数】

    Given the value of N, you will have to find the value of G. The definition of G is given below: G=∑i ...

  9. UVA 11426 GCD - Extreme (II) (欧拉函数)

    题目传送门:点击打开链接 假设a.b(a<b)互质,那么gcd(a,b)=1,这样当i循环到a.j循环到b时就会向结果中+1,而i循环到2*a.j循环到2*b时就会向结果中+2(gcd(2*a, ...

最新文章

  1. ML基石_10_LogisticRegression
  2. 实战测试SO_REUSEADDR选项
  3. 正则表达式真的很骚,可惜你不会写!
  4. Apache+jboss群集部署
  5. 如何在Linux上使用端口敲门(以及为什么不应该这样做)
  6. vue 打包路由报错_Vue下路由History模式打包后页面空白的解决方法
  7. LeetCode 520. 检测大写字母
  8. win10电脑开机密码忘了怎么办_电脑开机密码忘了怎么办最简单的方法_windows7教程...
  9. 给定a、b两个文件,各存放50亿个url,每个url各占用64字节,内存限制是4G,如何找出a、b文件共同的url?...
  10. [机器学习]机器学习常用的模型评估方法
  11. 2022年C语言程序设计题库习集带答案(史上最全版)
  12. python人脸识别代码实现
  13. 电脑同时上内外网——设置教程(附内外网优先级设置)
  14. ROS与PCL:在setconditionfunciton时,无法使用std::bind
  15. 思科模拟器的远程连接交换机的实现
  16. 统计学的Python实现-019:任意正态分布计算概率
  17. excel条形图-蝴蝶图的画法
  18. 广东专升本C语言程序设计(完结)
  19. node 安装(新)
  20. 并行传输数据和串行传输数据_为什么串行数据传输比并行数据传输快?

热门文章

  1. MYSQL数据库与Emoji表情的故事
  2. 编写带对话框界面的OCX
  3. 博客专题计划:《在实践中深入理解常见网络协议》
  4. PHPSession-完全PHP5之session篇
  5. CentOS安装mysql*.rpm提示conflicts with file from package的解决的方法
  6. PDF 补丁丁 0.4.1.688 测试版发布(请务必用其替换 682 测试版)
  7. js获取字符串的字节数
  8. 问题解决 xenapp6/6.5发布资源管理器explorer应用不能打开 一闪而过
  9. 遇到:ORA-27121: UNABLE TO DETERMINE SIZE OF SHAR...
  10. Soft Skill