2818: Gcd

题目连接:

http://www.lydsy.com/JudgeOnline/problem.php?id=2818

Description

给定整数N,求1<=x,y<=N且Gcd(x,y)为素数的
数对(x,y)有多少对.

Input

一个整数N

Output

如题

Sample Input

4

Sample Output

4

Hint

题意

题解:

gcd(x,y) = p的对数

等于 gcd(x/p,y/p)=1的对数

那么实际上就是求sigma(phi),但是这个玩意儿是有序的

那么我们就乘以2,再减去一个(1,1)这个东西就好了。

代码

#include<bits/stdc++.h>
using namespace std;
const int maxn = 1e7+5;long long phi[maxn];
int prime[maxn],num;
int n;
void phi1()
{phi[1]=1;for(long long i=2;i<=n;i++){if(!phi[i]){prime[num++]=i;for(long long j=i;j<=n;j+=i){if(!phi[j]) phi[j]=j;phi[j]=phi[j]/i*(i-1);}}}
}
int main()
{scanf("%d",&n);phi1();long long ans = 0;for(int i=1;i<=n;i++)phi[i]+=phi[i-1];for(int i=0;i<num;i++)ans+=phi[n/prime[i]];printf("%lld\n",2*ans-num);
}

转载于:https://www.cnblogs.com/qscqesze/p/5403692.html

BZOJ 2818: Gcd 筛法相关推荐

  1. 欧拉筛(bzoj 2818: Gcd)

    2818: Gcd Time Limit: 10 Sec  Memory Limit: 256 MB Submit: 6707  Solved: 2952 [Submit][Status][Discu ...

  2. BZOJ 2818: Gcd区间内最大公约数 为素数的对数(欧拉函数的应用)

    传送门 2818: Gcd Time Limit: 10 Sec Memory Limit: 256 MB Submit: 3649 Solved: 1605 [Submit][Status][Dis ...

  3. BZOJ 2818 Gcd 线性欧拉筛(Eratosthenes银幕)

    标题效果:定整N(N <= 1e7),乞讨1<=x,y<=N和Gcd(x,y)素数的数(x,y)有多少.. 思考:推,. 建立gcd(x,y) = p,然后,x / p与y / p互 ...

  4. BZOJ 2818——Gcd

    题意:给定n,求gcd(x,y)==p 的对数,其中(1<=x<y<n) 思路: 求(x, y) = k, 1 <= x, y <= n的对数等于求(x, y) = 1, ...

  5. BZOJ 2818 Gcd

    传送门 题解:设p为素数 ,则gcd(x/p,y/p)=1也就是说求 x/p以及 y/p的欧拉函数.欧拉筛+前缀和就可以解决 #include <iostream> #include &l ...

  6. HYSBZ - 2818 Gcd —— 莫比乌斯反演

    2818: Gcd Time Limit: 10 Sec  Memory Limit: 256 MB Submit: 8172  Solved: 3609 Description 给定整数N,求1&l ...

  7. D. Not Adding (数论 gcd 筛法)

    题解:这题我们最终是看有多少个gcd可以被加在数组后面,因为gcd只会变小不会变大,所以我们最多将1~A中的所有数都加进来(A是整个数组元素的最大值).所以我们可以考虑对于暴力1到A的每一个数,看这个 ...

  8. HYSBZ 2818 Gcd

    Description 给定整数N,求1<=x,y<=N且Gcd(x,y)为素数的 数对(x,y)有多少对. Input 一个整数N Output 如题 Sample Input 4 Sa ...

  9. bzoj 2818 欧拉函数

    思路:就是对于某个数q,跟他互质的数p,kp和kq的最大公约数是k,那么这个数能组成的答案的数量就是phi[i]乘以某个质数,且乘积小于n 基于这种思路写下这个代码 #include <cstd ...

最新文章

  1. 你哪来这么多事(三):学生信息删除
  2. pythonapp下载-python编程狮app下载
  3. 对比学习系列论文CPC(二)—Representation Learning with Contrastive Predictive Coding
  4. 10个常用的Python图像处理工具,建议收藏!
  5. 把数据存入excel文件_Python从原Excel表中抽出数据存入同一文件的新的Sheet(实例53)...
  6. 机器学习的理论知识点总结
  7. HP P2000 RAID-5两块盘离线的数据恢复报告
  8. 筛选装置用c语言编程,一种空壳瓜子筛选装置的制作方法
  9. [蓝桥杯2019初赛]修改数组-并查集
  10. c语言中系统函数设定像素,在imag中对每个像素应用自定义函数的快速方法
  11. 数据备份、pymysql模块
  12. 题解【luogu P2421 bzoj P1407 [NOI2002]荒岛野人】
  13. 怎样用计算机打出seeyouagain,怎么唱好seeyouagain说唱
  14. zTree实现树的模糊搜索功能
  15. 福禄克光纤OTDR测试与光损耗测试的区别分析
  16. 科学的软件测试培训时间是多久?
  17. U盘防病毒从七方面做起
  18. PDF如何旋转页面,PDF旋转页面的操作方法
  19. PDF文件修改最常用的方式有哪些?
  20. Android UI 显示工具——HierarchyViewer工具

热门文章

  1. duilib 修复Text控件无法设置宽度的bug,增加自动加算宽度的属性
  2. 对象序列化(六):应用实例-WPF对象的XAML序列化
  3. Java键盘字符乱码判断代码
  4. MapReduce基础开发之七Hive外部表分区
  5. 堆栈——Windows核心编程学习手札之十八
  6. 数据结构源码笔记(C语言):栈的基本操作
  7. SpeedNet: Learning the Speediness in Videos
  8. mysql db2免费下载_DB2ToMysql(DB2导入到Mysql工具)下载
  9. is NULL , is NOT NULL 有时索引失效 || in 走索引, not in 索引失效 ||单列索引和复合索引 || 查看索引使用情况
  10. Chrome 插件:自己写的插件提示请停用以开发者模式运行的插件处理方法,该拓展程序未列在chrome网上应用商店中,并可能是在您不知情的情况下添加的解决办法