当前位置: 首页 > 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.gsyq.cn/news/47104.html

相关文章:

  • 2025年靠谱的塑料仿真茅草渠道哪家强
  • 详细介绍:米家智能家居方案(租房版)
  • 【2025-11-11】我们不亏
  • 2025年权威的人造茅草渠道推荐排行榜
  • 详细介绍:【底层机制】【Android】Binder架构与原理
  • 2025年资深的杭州个体户注册渠道口碑推荐榜
  • 2025年城市主站消防车生产商推荐排行榜
  • 2025年地下室垃圾车厂商口碑推荐榜单
  • 2025年不锈钢管道风机生产厂家排名
  • 2025年调速电机供应厂家排行
  • 2025灯具不锈钢绳网批发厂家推荐排行
  • 完整教程:AbMole小课堂丨重组R-spondin-3(RSPO3)的作用机理及其在类器官和干细胞研究中的应用
  • 2025轴承包胶轮制造厂家排行
  • 2025年质量好的切钛合金圆锯机厂家最新推荐排行榜
  • 2025杭州计量泵制造厂推荐排行
  • Clion2025.2.4 11月最新版 安装、授权、使用说明
  • 2025年11月EGUOO睡眠片价格推荐:结合临床数据评估长期投入
  • 2025年知名的双锯片锯切专机最新TOP品牌厂家排行
  • 2025年中央空调生产商排行榜单
  • 2025年风管机实力厂家哪家权威
  • 2025年电脑维修常见故障渠道怎么选择
  • 2025冷库聚氨酯保温批发厂家推荐榜
  • 深入解析:【鸿蒙进阶-7】鸿蒙与web混合开发
  • 深入解析:牛客周赛 Round 111
  • Python3 正则表达式
  • 2025年11月水飞蓟Q10胶囊推荐:科学护肝能量双效协同方案
  • revit api创建墙体剖面视图
  • 2025年发光鼠标垫产品口碑排行榜
  • 2025年小区车棚产品排名
  • transformers库本地部署大语言模型 - yi