当前位置: 首页 > news >正文

10.14 数论

问题 - D - Codeforces — Problem - D - Codeforces

数论。考察gcd,lcm的性质和素数筛。

题意:给定c,d,x。求满足c∗lcm(a,b)−d∗gcd(a,b)=xc*lcm(a,b)−d*gcd(a,b)=xclcm(a,b)dgcd(a,b)=x的ab对数量。

思路:首先发现有lcm和gcd,可以容易想到 a=k1∗gcd(a,b),b=k2∗gcd(a,b)a=k_1*gcd(a,b),b=k_2*gcd(a,b)a=k1gcd(a,b),b=k2gcd(a,b)

k1k_1k1k2k_2k2互质,因为如果不互质,gcd(a,b)gcd(a,b)gcd(a,b)还要乘上gcd(k1,k2)gcd(k_1,k_2)gcd(k1,k2)。又有lcm(a,b)=a∗b/gcd(a,b)lcm(a,b)=a*b/gcd(a,b)lcm(a,b)=ab/gcd(a,b)

我们带入化简原式得到:
c∗gcd⁡(a,b)∗k1∗k2−d∗gcd⁡(a,b)=xc*\gcd(a,b)*k_1*k_2-d*\gcd(a,b)=x cgcd(a,b)k1k2dgcd(a,b)=x

gcd⁡(a,b)=xc∗k1∗k2−d\gcd(a,b)=\frac{x}{c*k_1*k_2-d} gcd(a,b)=ck1k2dx

因为gcd(a,b)gcd(a,b)gcd(a,b)一定是整数,所以(c∗k1∗k2−d)∣x(c*k_1*k_2-d) | x(ck1k2d)x ,我们令 y=c∗k1∗k2−dy=c*k_1*k_2-dy=ck1k2d
k1∗k2=y+dck_1*k_2=\frac{y+d}{c} k1k2=cy+d
因为前面我们已经推导出k1k_1k1k2k_2k2互质,且题目给了c和d的值,所以我们只需要枚举y。记k为右式。

保证k的每种质因数属于k1k_1k1k2k_2k2,贡献为2cnt2^{cnt}2cnt,cnt为k的质因子种数。

比如对于样例1,1 1 3。

当y=1,k=2,k1k_1k1 k2k_2k2分别可为1 2;2 1。贡献为2。

当y=2,y不是x的因子,略过。

当y=3,k=4,k1k_1k1 k2k_2k2分别可为1 4;4 1。贡献为2。

注意y和d的上限都是1e7,所以素数筛数组要开到2e7。

int ou[mm];    //计算i的质因子的个数
int prime[mm]; //判断i是否为质数,1为质数
int cnt = 0;   //记录质数个数
void oula()
{for (int i = 2; i <= mm; i++){if (!ou[i]){prime[++cnt] = i;ou[i] = 1;}for (int j = 1; i * prime[j] <= mm; j++){ou[i * prime[j]] = ou[i] + 1;if (i % prime[j] == 0)  //确保每个合数只被其最小质因数标记一次{ou[i * prime[j]] = ou[i];break;}}}
}void solve()
{int c, d;cin >> c >> d >> x;ans = 0;for (int i = 1; i * i <= x; i++){if (x % i == 0){int y0 = i, y1 = x / i;int k;if ((y0 + d) % c == 0){k = (y0 + d) / c;ans += 1ll << ou[k];}if (y0 == y1){continue;}if ((y1 + d) % c == 0){k = (y1 + d) / c;ans += 1ll << ou[k];}}}cout << ans;
}
http://www.dtcms.com/a/488473.html

相关文章:

  • 厦门网站制作企业东营做网站公司
  • 网站备案查询工信部官网wordpress 显示excel
  • 作业2025 10.15
  • 专题网站建设意义何在常见网站建设公司术语
  • 网站建设的客户在哪里做网站的天空网
  • LeetCode 3350.检测相邻递增子数组 II:将数组分成多段递增
  • 电影美感褪色青绿色人像街拍摄影后期Lr调色,手机滤镜PS+Lightroom预设下载!
  • seo网站设计工具下载网站系统源码
  • 网站设计软件培训怎么样新野微网站开发
  • 机器学习入门,无监督学习之DBSCAN聚类算法完全指南:面向Java开发者的Python实现详解
  • 哪些网站推广不收费网站设计 原型图
  • yolo v8n模型小样本微调总结
  • 网站制作 呼和浩特南山网站设计方案
  • 如何做家居网站注册公司一年需要多少费用
  • 专门做酒店设计的网站网页设计参考网站
  • 网页设计制作网站首页建筑网建设通网站作用是什么
  • 猎头可以做单的网站做网站的图片大小是多少
  • 盘州市网站建设调用别人网站的数据库
  • 国外设计网站素材网站打开显示站点目录
  • 网址制作网站云南网官网入口
  • 雄安智能网站建设公司郑州的网站建设
  • 大庆网站建设公司台州网站建设网站
  • 建设网站西安万网做网站多少钱
  • 红星美凯龙建设事业中心网站大数据精准营销论文
  • 备案号链接工信部网站3d设计房子的软件
  • rhce第一次作业
  • 【Shell编程学习】Shell基础知识
  • 征婚网站开发呼市网站制作
  • 扬州西区网站建设安康手机网站建设
  • html5自适应网站模版打鱼网站怎么做