题解 luogu P2568 GCD

题解 luogu P2568 GCD

时间:2019.3.11

欧拉函数+前缀和

题目描述

给定整数\(N\),求\(1\le x,y \le N\)\(\gcd(x,y)\)为素数的数对\((x,y)\)有多少对.

分析

枚举素数\(p\), 先求出\(1\le x,y \le \left \lfloor \dfrac n p \right \rfloor\)\(\gcd(x, y) = 1\)的数对\((x,y)\)有多少对,然后再将\(x,y\)同时乘以\(p\)即可.

不妨钦定\(x \le y\),如果知道了\(y\),那么\(x\)的数量就是\(\varphi(y)\)\(\text{phi(y)}\))个。对于\(x \ge y\)同理。

注意数对\((1, 1)\)会被计算两次,答案要减一。

1538275-20190311140949850-1663342725.png

代码

#include <bits/stdc++.h>
using namespace std;
const int kMaxN = 10000000 + 10;
typedef long long LL;
bool is_prime[kMaxN];
int phi[kMaxN];
int prime[kMaxN], top;
int n;
long long ans, phi_sum[kMaxN];
void Sieve() {memset(is_prime, true, sizeof(is_prime));top = 0;phi[1] = 1;for (int i = 2; i <= n; i++) {if (is_prime[i]) {prime[++top] = i;phi[i] = i - 1;}for (int j = 1; j <= top && 1ll * i * prime[j] <= n; j++) {int p = prime[j];is_prime[i * p] = false;phi[i * p] = phi[i] * (i % p ? p - 1 : p);if (i % p == 0) break;}}
}
int main() {scanf("%d", &n);Sieve();for (int i = 1; i <= n; i++) {phi_sum[i] = phi_sum[i - 1] + phi[i];}for (int i = 1; i <= top; i++) {ans += phi_sum[n / prime[i]] * 2 - 1;}printf("%lld\n", ans);return 0;
}

转载于:https://www.cnblogs.com/longlongzhu123/p/10510275.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/249481.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决前后台发送请求或者接口之间发送请求乱码的问题

前后台传中文乱码&#xff1a; 前台使用encodeURI 进行编码 后台使用decode进行解码 如果接口之间调用出现乱码.接收方是&#xff1f;&#xff1f;&#xff1f;&#xff1f;这种。传送方式明文的处理方式&#xff1a; 发送方使用decode 进行编码&#xff1a; 接收方使用的ecod…

MSDN帮助文档 无法显示该网页 的问题解决方案(转)

MSDN帮助文档 "无法显示该网页" 的问题解决方案 以前就遇到过这样的问题&#xff0c;还以为是IE7导致的。后来重新安装了IE7也没有解决。后来就重新安装MSDN了&#xff0c;非常郁闷。今天终于知道原因了。因为开了HijackThis删除了一些注册协议&#xff0c;然后发现M…

.net Core发布至IIS完全手册带各种踩坑

服务器环境配置 和各位大爷报告一下我的服务器环境 : Windows Server 2012 iis 8 小插曲开始: 运维大哥在昨天给了我一台新的server 0环境开始搭建 。 并且没有安装任何的系统补丁。 第一件事情请开始打 补丁 打完补丁之后有时补丁会不完全 ,所以需要去官网获取补丁: KB2919355…

Unity --- MeshRenderer之网格合并

创建如图所示的对象结构,parent为空对象&#xff0c;然后将下面的代码挂载到parent对象上运行即可。 1 using UnityEngine;2 using System.Collections;3 4 public class CombineMeshAndMaterials : MonoBehaviour5 {6 void Start()7 {8 CombineMesh();9 }…

css 盒模型的属性

1、盒模型 2、display 3、浮动转载于:https://www.cnblogs.com/Tang854416/p/9676424.html

前后端分离

、前后端分离的好处 &#xff08;1&#xff09;彻底解放前端 &#xff08;2&#xff09;提高工作效率&#xff0c;分工更加明确。 &#xff08;3&#xff09;局部性能提升 &#xff08;4&#xff09;降低维护成本 2、前后端分离的概念 后台只需要提供API接口&#xff0c;…

Win10还原被Windows Defender隔离的文件

Win10最新版本的Windows Defender隔离/删除的文件没有还原的选项&#xff0c;导致很多破解文件或是注册机直接隔离&#xff0c;到威胁历史记录中去却无法恢复。经过各个尝试&#xff0c;到微软官方论坛中也尝试了很多方法&#xff0c;后来发现竟然恢复啦。各位小伙伴可以试试这…

AtCoder Grand Contest 013 题解

A - Sorted Arrays 贪心&#xff0c;看看不下降和不上升最长能到哪&#xff0c;直接转移过去即可。 1 //waz2 #include <bits/stdc.h>3 4 using namespace std;5 6 #define mp make_pair7 #define pb push_back8 #define fi first9 #define se second 10 #define ALL(x…

servlet架构解析

https://www.jianshu.com/p/d433b5fb87e2

(Review cs231n) Backpropagation and Neural Network

损失由两部分组成&#xff1a; 数据损失正则化损失&#xff08;data loss regularization&#xff09; 想得到损失函数关于权值矩阵W的梯度表达式&#xff0c;然后进性优化操作&#xff08;损失相当于海拔&#xff0c;你在山上的位置相当于W&#xff0c;你进行移动&#xff0c…

springboot restful

https://www.jianshu.com/p/733d788ea94d

【计算机算法设计与分析】——排序

一.排序 二.插入排序 &#xff08;1&#xff09;算法描述 &#xff08;2&#xff09;性能分析 &#xff08;3&#xff09;寻求优化 三.归并排序 &#xff08;1&#xff09;算法思想 &#xff08;2&#xff09;性能分析 &#xff08;2&#xff09;示例 &#xff08;3&#xff09…

QT 随机数生成

下面总结了QT中随机生成的方法&#xff08;仅供学习参考&#xff09;&#xff0c;分为旧方法和新方法&#xff0c;一般来说&#xff0c;旧的方法已经被抛弃&#xff0c;在开发新的应用中推荐使用新方法。 C Code 123456789101112131415161718192021222324#include <QCoreApp…

获取/设置IFRAME内对象元素的几种JS方法

获取/设置IFRAME内对象元素的几种JS方法 iframe浏览器ie文档微软&#xff11;。IE专用(通过frames索引形象定位)&#xff1a; document.frames[i].document.getElementById(元素的ID); &#xff12;。IE专用(通过IFRAME名称形象定位)&#xff1a; document.frames[iframe的name…

高并发

https://blog.csdn.net/java_xth/article/details/81162088

多人游戏服务器

https://www.getmangos.eu/转载于:https://www.cnblogs.com/aibox222/p/9682697.html

Hbase 各个角色的工作。

HMaster的作用&#xff1a; 为region server 分配region&#xff1b;负责region server的负载均衡&#xff0c;region分裂完成监控&#xff1b;处理schema更新请求&#xff0c;数据表的创建&#xff0c;更新&#xff1b;HDFS上的垃圾文件回收&#xff1b;发现失效的region serv…

Activiti中的关于子流程中的并发节点标记处理

最近在研究一个轻量级的工作流引擎Activiti&#xff0c;就遇到了子流程中无法标记其并发节点的问题&#xff0c;经过几天的研究&#xff0c;想到了一个简单易懂的方法&#xff0c;总结如下&#xff0c;希望对你们能有所帮助&#xff0c;有写的不对的地方&#xff0c;还希望大家…

[WPF 基础知识系列] —— 绑定中的数据校验Vaildation

[WPF 基础知识系列] —— 绑定中的数据校验Vaildation 原文:[WPF 基础知识系列] —— 绑定中的数据校验Vaildation前言&#xff1a; 只要是有表单存在&#xff0c;那么就有可能有对数据的校验需求。如&#xff1a;判断是否为整数、判断电子邮件格式等等。 WPF采用一种全新的方式…

ModuleNotFoundError: No module named 'win32api'

启动一个工程的cmd&#xff1a; scrapy crawl HI 如果 运行报 No module named “win32api” 要安装 pip install pypiwin32 这个包转载于:https://www.cnblogs.com/hailong88/p/10528618.html