The Number of Pairs

news/2024/10/10 8:07:49/文章来源:https://www.cnblogs.com/YzaCsp/p/18455086

算法

数据范围一眼数学题
然而考场并没有思路

这一类题显然要将 \(\gcd{(a, b)}\) 消掉或者表示 ( \(\rm{lcm}{(a, b)}\) 可以用 \(\gcd{(a, b)}\) 表示)

考虑 \(a = \gcd{(a, b)} * k_1\)\(b = \gcd{(a, b)} * k_2\)
开始化简
pAJeiAf.png

然后可以求出 \(\rm{lcm}{(a, b)} = \frac{k_1 \times k_2 \times x}{c \times k_1 \times k_2 - d}\)

问题转化成已知 \(\rm{lcm}\)\(\rm{gcd}\), 求 \(a, b\) 的种数

考虑 \(\gcd{(a, b)} = \frac{x}{c \times k_1 \times k_2 - d}\)
推出 \(\gcd{(\frac{a}{\frac{x}{c \times k_1 \times k_2 - d}}, \frac{b}{\frac{x}{c \times k_1 \times k_2 - d}})} = 1\)
\(y = c \times k_1 \times k_2 - d\)
化简, 得 \(\gcd{(\frac{a \times y}{x}, \frac{b \times y}{x})} = 1\)
又有 \(k_1 \times k_2 = \frac{y + d}{c}, \rm{lcm}{(a, b)} = \frac{\frac{y + d}{c} \times x}{y \times c}\)
同化简 \(\gcd\) 的方法推出 \(\rm{lcm}(\frac{a \times y}{x}, \frac{b \times y}{x}) = \frac{y + d}{c}\)
问题就变简单了

转化为唯一分解定理后可以知道, 将 \(\frac{y + d}{c}\) 分解之后, 对于每个质因数, 要么给\(a\), 要么给\(b\), 所以答案为 \(2 ^ {Num}\) ( \(Num\) 为质因数个数)
观察前面的柿子, 得出

\[y \mid x \]

所以枚举 \(x\) 的因子 \(y\), 对于每一个因子 \(y\), 检查 \(c \mid y + d\), 记录 \(\frac{y + d}{c}\) 的值并且分解质因数, 完事

本质不同质因数个数这个函数是可以线性筛的。线性筛预处理完,然后枚举 \(x\) 的约数,接着判断 $\dfrac{d + y}{c} $ 是否为整数,最后加上贡献即可

代码

总结

这一类题一般只能消掉或表示
整除信息可以枚举
求解不同质因数的套路

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

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

相关文章

.NET周刊【9月第5期 2024-09-29】

国内文章 Windows 调试工具课程 https://www.cnblogs.com/lindexi/p/18421353 本文是关于如何使用Windows调试工具解决软件故障的课程记录,适合初学者。作者介绍了解决软件崩溃的策略,从用户反馈开始,利用事件查看器和任务管理器等工具找出问题根源。事件查看器可以给出软件…

.NET 9 RC 2正式发布

距离最终版本还有一个月的时间,Microsoft 已经交付了 .NET 9 的第二个也是最后一个候选版本。.NET 团队在公告帖子中写道[1],“当我们为 11 月的 .NET 9 正式发布 (GA) 版本做准备时,我们正在对性能、稳定性和任何其他优化进行最后的润色,使其成为 .NET 9 的最佳版本。.N…

Microsoft 发布 .NET 9 RC 2

距离最终版本还有一个月的时间,Microsoft 已经交付了 .NET 9 的第二个也是最后一个候选版本。.NET 团队在公告帖子中写道[1],“当我们为 11 月的 .NET 9 正式发布 (GA) 版本做准备时,我们正在对性能、稳定性和任何其他优化进行最后的润色,使其成为 .NET 9 的最佳版本。.N…

读数据工程之道:设计和构建健壮的数据系统04数据工程生命周期(下)

数据工程生命周期(下)1. 获取 1.1. 在了解数据源、所用源系统的特征以及数据的存储方式之后,你需要收集数据 1.2. 数据工程生命周期的下一阶段是从源系统中获取数据1.2.1. 源系统和获取代表了数据工程生命周期中最重要的瓶颈1.2.2. 源系统通常不在你的直接控制范围内,可能会…

两台iStoreOS路由器通过wireguard实现异地组网

本人博客原文:https://drcodes.cn/2024/09/12/两台istoreos路由器通过wireguard实现异地组网/ 一、前言 我在家中和单位宿舍申请了两条联通千兆宽带,每条均有公网ip,如何实现更多玩法呢?最近折腾了一下异地组网,这里简单记录一下 环境:路由器A,内网ip为192.168.1.1,系统…

1panel搭建frp服务端并使用openresty反向代理实现https访问

前言 这次国庆节回老家发现家里的路由器居然是我去年带过去的斐讯K2p,已经刷了openwrt,于是想着有没有更多玩法?因为家里的宽带是移动宽带,没有公网IP,所以来折腾一下frp内网穿透。 我想实现的目标是:通过不同的三级域名,来访问不同的服务。例如,访问https://op.frp.xx…

004、v3admin学习,使用ci4搭建后端服务器

1、按照php环境和composer,输入cmd的composer命令,版本是2.7.9 2、在工作目录,输入命令行composer create-project codeigniter4/appstarter ci4 ,会全自动创建工程 3、把composer下来的文件,拷贝到外面工程中。 4、用phpstorm打开工程,更新一下依赖包 5、用小皮桌面开启p…

UNRAID下安装Virtual DSM

本文基于【完结】Virtual DSM 逆向笔记 (基于libvirt的安装及升级) (jxcn.org) 感谢chk-jxcn的分享! 一、安装镜像的准备 链接:https://pan.baidu.com/s/16I89NHPTW6TDx7ACh67yiA 提取码:7hkq 下载下来的镜像是原作者chk-jxcn(jxcn.org)从 DSM 中提取出的 VDSM 7.0 的安装镜…

house_of_muney [2023CISCN]

house_of_muney 首先介绍一下house of muney 这个利用原理: 在了解过_dl_runtime_resolve的前提下,当程序保护开了延迟绑定的时候,程序第一次调用相关函数的时候会执行下面的命令 push n push ModuleID jmp _dl_runtime_resolve 这里的n对应的是这个符号在rel.plt重定位表中…

C#|.net core 基础 - 删除字符串最后一个字符的七大类N种实现方式

分享删除字符串最后一个字符的多种实现方法,包括字符串、StringBuilder、Array、Linq等方式,并进行性能测试。结果显示字符串方式性能最优,但了解多种方法有助于选择最合适的方法。今天想通过和大家分享如何删除字符串最后一个字符的N种实现方法,来回顾一些基础知识点。 01…

NET Core 基础 - 删除字符串最后一个字符的七大类N种实现方式

分享删除字符串最后一个字符的多种实现方法,包括字符串、StringBuilder、Array、Linq等方式,并进行性能测试。结果显示字符串方式性能最优,但了解多种方法有助于选择最合适的方法。今天想通过和大家分享如何删除字符串最后一个字符的N种实现方法,来回顾一些基础知识点。 01…

003、v3admin学习,修改全局配置如去掉水印等

1、v3admin打开之后的界面如下 2、修改一下全局通用设置 3、界面如下 4、把app.vue中的这一段注释掉 5、浏览器也就没有弹窗显示了。