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

BSGS 升级版

介绍一种升级版的 BSGS 科技,若在模 \(P=p_1^{e_1}\cdots p_k^{e_K}+1\) 意义下求离散对数,可以做到 \(O(\sum \sqrt{p_i^{e_i}})\) 以及 \(O(\sum e_i\sqrt {p_i})\) 的复杂度。

先看怎么做前者。

考虑怎么求出 \(n\)\(p_i^{e_i}\) 的值。有 \((a^{(P-1)/p_i^{e_i}})^n=(a^n)^{(P-1)/p_i^{e_i}}=b^{(P-1)/p_i^{e_i}}\pmod P\)

所以可以令 \(a'=a^{(P-1)/p_i^{e_i}},b'=b^{(P-1)/p_i^{e_i}}\) 然后求出对应的 \(n'\),因为 \((a')^n\) 的循环长度是 \(p_i^{e_i}\),所以用 BSGS 求 \(n'\)\(O(\sqrt{p_i^{e_i}})\) 的。而 \(n\bmod {p_i^{e_i}}=n'\),所以拿这些 \(n'\) 做 CRT 合并起来即可。如果 CRT 无解就是原来的 \(n\) 无解。

复杂度 \(O(\sum \sqrt{p_i^{e_i}})\)

再看看怎么做后者。延续上面的做法,要求 \(n'\) 使得 \((a^{(P-1)/p_i^{e_i}})^{n'}=b^{(P-1)/p_i^{e_i}}\pmod P\).

因为 \(n'\) 到了 \(p_i^{e_i}\) 就循环,可以认为 \(n'<p_i^{e_i}\),因此把 \(n'\) 写成 \(p_i\) 进制的形式只有 \(e_i\) 位:记作 \((d_{e_i-1}d_{e_i-2}\dots d_0)_{p_i}\),其中 \(d_j\) 对应 \(p_i^j\) 的位。

\(n'\) 就是求 \(d_0\sim d_{e_i-1}\),考虑从前往后求。设当前求出了 \(d_0\sim d_{pos-1}\) 怎么求出 \(d_{pos}\)

\(N=(d_{pos-1}\dots d_0)_{p_i}\),那么 \(n'=N+d_{pos}p_i^{pos}+d_{pos+1}p_i^{pos+1}+\cdots\),写下来:

\[(a')^{N+d_{pos}p_i^{pos}+d_{pos+1}p_i^{pos+1}+\cdots}=b' \]

然后两边同时 \(\frac{P-1}{p_i^{pos+1}}\) 次方,那么 \(pos+1\) 往后的项因为 \(P-1\mid p_i^{pos+k}\frac{P-1}{p_i^{pos+1}}\) 所以全部变成 \(0\) 了,于是:

\[(a')^{N\frac{P-1}{p_i^{pos+1}}+d_{pos}\frac{P-1}{p_i}}=(b')^{\frac{P-1}{p_i^{pos+1}}}\pmod P \]

再同时乘以 \((a')^{N\frac{P-1}{p_i^{pos+1}}}\)\(P\) 的逆元(快速幂即可),右边会得到一坨常数记作 \(C\)

\[(a')^{d_{pos}\frac{P-1}{p_i}}=C\pmod P \]

\[((a')^{\frac{P-1}{p_i}})^{d_{pos}}=C\pmod P \]

那么我们发现 \(d_{pos}\) 会在 \(p_i\) 处就循环,所以上 BSGS 可以在 \(O(\sqrt{p_i})\) 的时间内求出 \(d_{pos}\)

因此总复杂度是 \(O(\sum e_i\sqrt{p_i})\) 的。


例题:CF1310F

题意为 Nimber 域上的离散对数。因为我不会 nimber,所以假设乘法是 \(O(1)\) 的。那么直接套上面的算法即可。

http://www.gsyq.cn/news/55825.html

相关文章:

  • 2025年口碑好的微机控制电液伺服动静刚度疲劳试验机行业内知名厂家排行榜
  • 2025年11月留学生求职机构避坑指南:关键选择要素与实操步骤
  • 2025年热门的精密部件称重包装机厂家推荐及选购参考榜
  • 2025年质量好的园林灌溉管件厂家最新热销排行
  • format函数sql是什么
  • 数据分析实战全攻略:10款AI工具+8大技巧助你轻松完成论文研究
  • 2025年热门的环保设备厂家推荐及选购指南
  • 11.20 C 盲盒流水线
  • 【做题记录】HZOJ 多校-数论/多校-字符串/多校-图论Ⅱ
  • 2025年比较好的干选系统选煤设备厂家最新推荐排行榜
  • 2025年靠谱的GEO公司综合口碑榜
  • for var in Linux
  • 特征多项式求 det(A+xB)
  • 2025 年 11 月水浴锅厂家推荐排行榜,单孔恒温/四孔/三用恒温/六孔搅拌/八孔/四工位搅拌/定时恒速搅拌水浴锅公司推荐
  • 2025 年 11 月网络安全运维维护厂家推荐排行榜,网络安全服务,网络运维支持,网络维护方案,专业可靠厂家推荐
  • flash linux 安装
  • 2025 年 11 月供应链咨询机构/服务权威推荐榜单:专业供应链优化、数字化转型、物流管理咨询公司精选推荐
  • first sql适用场景
  • 2025 年 11 月轴承厂家推荐排行榜,瓦房店轴承,深沟球轴承,调心滚子轴承,圆锥滚子轴承公司推荐
  • 2025 年 11 月薪酬绩效管理咨询公司推荐排行榜,薪酬体系搭建,企业绩效考核,薪酬设计,薪酬规划,薪酬绩效顾问公司推荐
  • 2025 年 11 月吹塑厂家推荐排行榜,中空吹塑,吹塑制品/玩具,吹塑瓶/容器瓶/泡泡水瓶/机油瓶,洗发水/沐浴露/医药瓶/化妆瓶公司推荐
  • 2025 年 11 月热流道发热圈厂家推荐排行榜,铜套/弹簧/钢套/瓶盖/云母发热圈,翅片干烧发热管公司推荐,专业制造与高效性能口碑之选
  • 应用安全 --- IDA脚本 之 导出函数调用链
  • excel怎么读取mysql数据库
  • AI元人文:规则时序的重构——从线性控制到循环涌现
  • 克劳狄乌斯与沉船
  • AI元人文:人性与规则的协同演化——一场永不停息的共舞
  • Debian 12/13可用的华宇输入法 .deb 14M安装后 40M 词很多
  • 2025沈阳防水补漏服务推荐:极冠快修,全国连锁品牌深耕沈阳本土,凭实力出圈
  • 从原则到协议:价值原语化——多元共生AI伦理的技术实现范式