前置知识:

  • 辗转相除法
  • 欧拉函数

首先,根据辗转相除法求 \(\gcd\) 的公式,可得 \(\gcd(a+x,m)=\gcd((a+x)\mod m,m)\)。

则题目可以转化为:求有多少 \(x\) 满足 \(\gcd(x,m)=\gcd(a,m)\),设 \(\gcd(a,m)\) 等于定值 \(k\)。

等式两边同时除以 \(k\),得 \(\gcd(\dfrac{x}{k},\dfrac{m}{k})=1\)。即求与 \(\dfrac{m}{k}\) 互质的数的个数,根据欧拉函数的定义知答案为 \(\varphi(\dfrac{m}{k})\)。

code:

#include<bits/stdc++.h>
#define int long long
using namespace std;
int T,a,m;
signed main()
{
scanf("%lld",&T);
while(T--)
{
scanf("%lld%lld",&a,&m);
int n=m/__gcd(a,m);
int ans=n;
for(int i=2;i*i<=n;i++)
{
if(n%i==0) ans=ans/i*(i-1);
while(n%i==0) n/=i;
}
if(n>1) ans=ans/n*(n-1);
cout<<ans<<endl;
}
return 0;
}

CF1295D Same GCDs的更多相关文章

  1. Codeforces 1295D Same GCDs

    题目链接 link Solution 这是一道结论题,有两个做法,分别用了欧拉函数或一点点莫比乌斯反演 (这里只放欧拉函数的做法) 设\(d=gcd(m,a)\) \[gcd(\frac{a}{d}, ...

  2. Cyclic GCDs

    Cyclic GCDs 题目链接 题面描述 有\(n\)个点,每个点有权值. 现有排列\(P\),\(p_i\)表示\(i\)个点向\(p_i\)连了一条边. 显然会形成若干个简单环.每个简单环的权值 ...

  3. Educational Codeforces Round 81 (Rated for Div. 2) - D. Same GCDs(数学)

    题目链接:Same GCDs 题意:给你两个数$a$,$m(1 \leq a < m \leq 10^{10})$,求有多少个$x$满足:$0 \leq x < m$且$gcd(a,m)= ...

  4. Codeforces1295D. Same GCDs (欧拉函数)

    https://codeforces.com/contest/1295/problem/D 设gcd(a,m)= n,那么找gcd(a +x ,m)= n个数,其实就等于找gcd((a+x)/n,m/ ...

  5. UI数据库

    一.数据库 SQL: SQL是Structured Query Language(结构化查询语言)的缩写.SQL是专为数据库而建立的操作命令集, 是一种功能齐全的数据库语言. 二.数据库管理系统 数据 ...

  6. 2016 大连网赛---Different GCD Subarray Query(GCD离散+树状数组)

    题目链接 http://acm.split.hdu.edu.cn/showproblem.php?pid=5869 Problem Description This is a simple probl ...

  7. HDU 5869 Different GCD Subarray Query 离线+树状数组

    Different GCD Subarray Query Problem Description   This is a simple problem. The teacher gives Bob a ...

  8. 2016 ACM/ICPC Asia Regional Dalian Online 1002/HDU 5869

    Different GCD Subarray Query Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65536/65536 K ( ...

  9. HDU 5816 Hearthstone (状压DP)

    Hearthstone 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5816 Description Hearthstone is an onlin ...

  10. HDU 5810 Balls and Boxes (找规律)

    Balls and Boxes 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5810 Description Mr. Chopsticks is i ...

随机推荐

  1. 跟着 GPT-4 从0到1学习 Golang 并发机制(三)

    目录 一.前言 二.开聊 2.1 关于 goroutine 泄露问题 2.2 内存模型 2.3 Race Detector 检测数据竞争 三.总结 一.前言 话接上回<跟着 GPT-4 从0到1 ...

  2. Python根目录中没有Scripts文件夹问题

    电脑版本是win10,配置好python的环境变量,确保可以运行python命令. 1.打开cmd命令行输入 python -m ensurepip 2.查看Python根目录下,有没有新生成Scri ...

  3. Lock同步_小记

    使用同步机制的这种方式解决线程安全问题,但是不知道具体的锁对象在哪里添加,并且锁对象在哪里释放锁对象,对于这种情况Jdk5以后Java提供了一个更具体的锁对象:Lock Lock 实现提供了比使用 s ...

  4. 家人们,我把B站首页写出来了!!!

    在学习HTML5和CSS3的过程中,总是感觉没有一个完全自己做出来的页面,一直在各大网站上面寻找合适的适合自己去仿写的页面代码,奈何找了很久都没有找到,在CSDN上找的各种什么电商页面,小米商城页面之 ...

  5. React 前端应用中快速实践 OpenTelemetry 云原生可观测性(SigNoz/K8S)

    OpenTelemetry 可用于跟踪 React 应用程序的性能问题和错误.您可以跟踪从前端 web 应用程序到下游服务的用户请求.OpenTelemetry 是云原生计算基金会(CNCF)下的一个 ...

  6. openpyxl 设置某列单元格样式

    1 # 边框线 2 border_set = Border(left=Side(border_style='thin', color='000000'), 3 right=Side(border_st ...

  7. python将两个列表组合成元组

    point_x = [A_x, B_x, C_x, D_x] point_y = [A_y, B_y, C_y, D_y] points_tulpe = list(zip(point_x, point ...

  8. Windows 环境下载、安装、使用(.Net 5.0) Redis 数据库及常见问题的解决

    〇.前言 Redis (Remote Dictionary Server 远程字典服务)是一个使用 ANSI C 编写的开源.包含多种数据结构,支持网络.基于内存.可选持久性的键值对存储数据库,是现在 ...

  9. 工具—批量备案信息查询并生成fofa查询语句

    描述: 1.可以输入一个或多个公司名或域名或备案号,得到备案信息(备案公司名,备案公司网站url,备案号,域名类型,审核时间) 2.读取生成的信息并转为fofa语句,方便了指定目标的信息收集速度 工具 ...

  10. LeetCode 周赛上分之旅 #40 结合特征压缩的数位 DP 问题

    ️ 本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 和 BaguTree Pro 知识星球提问. 学习数据结构与算法的关键在于掌握问题背后的算法思维框架,你的思考越 ...