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

基于值域预处理的快速 GCD

功能简述

可在 \(\mathcal{O}(v)-\mathcal{O}(1)\) 的时间内多次询问 \(\gcd(n,m)(1\le n,m\le v)\)

算法过程

定理:对于任意正整数 \(n\),存在三个正整数 \(a,b,c\) 满足 \(abc=n\)\(a,b\le\sqrt{n}\)\(c\le\sqrt{n}\)\(c\in\mathbb{P}\) 中有至少一个成立。

证明:

采用数学归纳法,易得 \(n=1\) 时成立。

对于正整数 \(n\),设 \(p\) 为其最小质因数,\(a',b',c'\)\(\dfrac{n}{p}\) 的一合法分解(\(a'\le b'\le c'\)),则:

  • \(p\le\sqrt[4]{n}\),则因为 \(a'\le\sqrt[3]{\dfrac{n}{p}}\),所以 \(pa'\le p\sqrt[3]{\dfrac{n}{p}}=\sqrt[3]{np^2}\le\sqrt{n}\),所以 \(pa',b',c'\) 为一符合条件的解;
  • \(p>\sqrt[4]{n}\),则若 \(a'>p\),则 \(n=pa'b'c'>p^4>n\),矛盾!故 \(a'<p\),而又有 \(p\)\(n\) 的最小质因数,所以 \(a'=1\),故 \(p,b,c\) 为一符合条件的解。

综上所述,原命题成立。

这也揭示了将 \(n\) 分解为满足上述条件的 \(a,b,c\) 的方法:线性筛后将 \(n\) 最小素因子 \(p\) 乘给 \(\dfrac{n}{p}\) 分解成的三个数中最小的数即可。

所以当询问 \(\gcd(n,m)\) 时,可以将 \(n\) 分解为这样的 \(abc\),每次求 \(t=\gcd(a/b/c,m)\) 后,将最终结果乘上 \(t\) 并将 \(m\) 除以 \(t\),即可得解。

具体地,若此时考虑到的数 \(x\) 为素数,则求 \(\gcd(x,m)\) 是简单的;否则必有 \(x\le\sqrt{n}\),而 \(\gcd(x,m)=\gcd(x,m\bmod x)\),所以只需预处理出 \(\sqrt{v}\) 内任意两个数的 \(\gcd\)\(\mathcal{O}(1)\) 查询即可。

时间复杂度:\(\mathcal{O}(\sqrt{v}^2)=\mathcal{O}(v)\) 预处理,\(\mathcal{O}(1)\) 查询。

http://www.jsqmd.com/news/38107/

相关文章:

  • 2025年管链机生产厂家权威推荐榜单:研磨机/管链式输送机/管链输送机源头厂家精选
  • 2025年提分系统平台口碑排行
  • gif压缩实用方法分享,详细教程快收藏
  • 2025年靠谱的塑料仿真茅草渠道哪家强
  • 2025年想象力教育科技有限公司厂商口碑推荐榜单
  • 详细介绍:米家智能家居方案(租房版)
  • 2025年资深的四喜火锅底料大礼包哪家好
  • 2025年风力发电机厂家联系电话推荐:核心技术对比与市场格局剖析
  • 2025年4位半数显仪表制造商推荐排行榜单
  • 2025年铝包木门窗企业口碑排行榜单
  • react 生命周期函数有哪些?
  • 【2025-11-11】我们不亏
  • 2025年权威的人造茅草渠道推荐排行榜
  • 2025年小型风力发电机厂家联系电话推荐榜单:品质见证,实力领航
  • 2025年11月EGUOO关节营养素推荐:FDA认证生产链守护长期关节健康
  • 2025年做工精细的前置过滤器排行
  • 2025年防水母线槽生产厂家权威推荐榜单:防火母线槽/空气型母线槽/高压母线槽源头厂家精选
  • 详细介绍:【底层机制】【Android】Binder架构与原理
  • 2025年防爆汽车窗膜制造厂口碑排行榜
  • 2025年资深的杭州个体户注册渠道口碑推荐榜
  • linux终端颜色测试shell
  • 2025年城市主站消防车生产商推荐排行榜
  • 2025年3000全自动卫生纸加工设备直销厂家
  • MySQL/MariaDB NULL 值查询优化:避开索引失效的坑
  • 2025年地下室垃圾车厂商口碑推荐榜单
  • 2025年不锈钢管道风机生产厂家排名
  • emacs以服务器方式启动
  • revit api 自定义失败处理器
  • 2025年调速电机供应厂家排行
  • 2025学校高空防坠网销售厂家口碑推荐榜