BZOJ 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 筛法相关推荐
- 欧拉筛(bzoj 2818: Gcd)
2818: Gcd Time Limit: 10 Sec Memory Limit: 256 MB Submit: 6707 Solved: 2952 [Submit][Status][Discu ...
- BZOJ 2818: Gcd区间内最大公约数 为素数的对数(欧拉函数的应用)
传送门 2818: Gcd Time Limit: 10 Sec Memory Limit: 256 MB Submit: 3649 Solved: 1605 [Submit][Status][Dis ...
- BZOJ 2818 Gcd 线性欧拉筛(Eratosthenes银幕)
标题效果:定整N(N <= 1e7),乞讨1<=x,y<=N和Gcd(x,y)素数的数(x,y)有多少.. 思考:推,. 建立gcd(x,y) = p,然后,x / p与y / p互 ...
- BZOJ 2818——Gcd
题意:给定n,求gcd(x,y)==p 的对数,其中(1<=x<y<n) 思路: 求(x, y) = k, 1 <= x, y <= n的对数等于求(x, y) = 1, ...
- BZOJ 2818 Gcd
传送门 题解:设p为素数 ,则gcd(x/p,y/p)=1也就是说求 x/p以及 y/p的欧拉函数.欧拉筛+前缀和就可以解决 #include <iostream> #include &l ...
- HYSBZ - 2818 Gcd —— 莫比乌斯反演
2818: Gcd Time Limit: 10 Sec Memory Limit: 256 MB Submit: 8172 Solved: 3609 Description 给定整数N,求1&l ...
- D. Not Adding (数论 gcd 筛法)
题解:这题我们最终是看有多少个gcd可以被加在数组后面,因为gcd只会变小不会变大,所以我们最多将1~A中的所有数都加进来(A是整个数组元素的最大值).所以我们可以考虑对于暴力1到A的每一个数,看这个 ...
- HYSBZ 2818 Gcd
Description 给定整数N,求1<=x,y<=N且Gcd(x,y)为素数的 数对(x,y)有多少对. Input 一个整数N Output 如题 Sample Input 4 Sa ...
- bzoj 2818 欧拉函数
思路:就是对于某个数q,跟他互质的数p,kp和kq的最大公约数是k,那么这个数能组成的答案的数量就是phi[i]乘以某个质数,且乘积小于n 基于这种思路写下这个代码 #include <cstd ...
最新文章
- 你哪来这么多事(三):学生信息删除
- pythonapp下载-python编程狮app下载
- 对比学习系列论文CPC(二)—Representation Learning with Contrastive Predictive Coding
- 10个常用的Python图像处理工具,建议收藏!
- 把数据存入excel文件_Python从原Excel表中抽出数据存入同一文件的新的Sheet(实例53)...
- 机器学习的理论知识点总结
- HP P2000 RAID-5两块盘离线的数据恢复报告
- 筛选装置用c语言编程,一种空壳瓜子筛选装置的制作方法
- [蓝桥杯2019初赛]修改数组-并查集
- c语言中系统函数设定像素,在imag中对每个像素应用自定义函数的快速方法
- 数据备份、pymysql模块
- 题解【luogu P2421 bzoj P1407 [NOI2002]荒岛野人】
- 怎样用计算机打出seeyouagain,怎么唱好seeyouagain说唱
- zTree实现树的模糊搜索功能
- 福禄克光纤OTDR测试与光损耗测试的区别分析
- 科学的软件测试培训时间是多久?
- U盘防病毒从七方面做起
- PDF如何旋转页面,PDF旋转页面的操作方法
- PDF文件修改最常用的方式有哪些?
- Android UI 显示工具——HierarchyViewer工具
热门文章
- duilib 修复Text控件无法设置宽度的bug,增加自动加算宽度的属性
- 对象序列化(六):应用实例-WPF对象的XAML序列化
- Java键盘字符乱码判断代码
- MapReduce基础开发之七Hive外部表分区
- 堆栈——Windows核心编程学习手札之十八
- 数据结构源码笔记(C语言):栈的基本操作
- SpeedNet: Learning the Speediness in Videos
- mysql db2免费下载_DB2ToMysql(DB2导入到Mysql工具)下载
- is NULL , is NOT NULL 有时索引失效 || in 走索引, not in 索引失效 ||单列索引和复合索引 || 查看索引使用情况
- Chrome 插件:自己写的插件提示请停用以开发者模式运行的插件处理方法,该拓展程序未列在chrome网上应用商店中,并可能是在您不知情的情况下添加的解决办法