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

古代猪文

数论大杂烩
题目简意:给定n, g,p表示n的所有因子,求$$g^{\sum_{p|n} C_n^p} \mod 999911659$$
(markdown看不清楚可以放大看)
注意到999911659是质数,所以使用欧拉定理变成$$g^{\sum_{p|n} C_n^p \mod \phi(999911659)} \mod 999911659$$
即$$g^{\sum_{p|n} C_n^p \mod 999911658} \mod 999911659$$
显然重点要算的是指数,把指数算出来之后用快速幂直接算即可;
不过由于999911658非常大,直接用lucas显然炸了,所以分解一下变成:\(2 \times 3 \times 4679 \times 35617\)
枚举n的因子,分解计算在模2,3,4679,35617下的结果,记为\(a_1\), \(a_2\), \(a_3\), \(a_4\), 用excrt 解出x:

\[\begin{cases} x \equiv a_1 \pmod{2} \\ x \equiv a_2 \pmod{3} \\ x \equiv a_3 \pmod{4679} \\ x \equiv a_4 \pmod{35617} \end{cases} \]

最后快速幂计算 \(g^x\);
代码如下:

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int mod = 999911659;
int n, g, a[5], b[5] = {0, 2, 3, 4679, 35617};
int qpow(int a, int b, int p){int m = 1;for(; b; b >>= 1){if(b & 1) m = (m * a) % p;a = (a * a) % p;}return m;
}
int C(int n, int m, int p){if(n > m) return 0;int a, b, c; a = b = c = 1;for(int i = 1; i <= m; i++) a = (a * i) % p;for(int i = 1; i <= n; i++) b = (b * i) % p;for(int i = 1; i <= m - n; i++) c = (c * i) % p;return (a * qpow(b * c % p, p - 2, p) % p + p) % p;
}
int lucas(int n, int m, int p){if(n == 0) return 1;int c = lucas(n / p, m / p, p);return (c * C(n % p, m % p, p) % p + p) % p;
}
int exgcd(int a, int b, int &x, int &y){if(b == 0){x = 1; y = 0;return a;}int d = exgcd(b, a % b, x, y);int z = x;x = y;y = z - (a / b) * x;return d;
}
void excrt(int &a1, int &a2, int &b1, int &b2){int yo = 0, ys = 0;int a = b1, b = b2;int d = exgcd(a, b, yo, ys);b1 = a * b / d;ys = ys * (a1 - a2) / d;a1 = (a2 + b2 * ys % b1 + b1) % b1;
}
signed main(){cin >> n >> g;if(g % mod == 0){cout << 0;return 0;}for(int j = 1; j <= 4; j++){for(int i = 1; i * i <= n; i++){if(n % i == 0){a[j] = (a[j] + lucas(i, n, b[j])) % b[j];if(i * i != n){a[j] = (a[j] + lucas(n / i, n, b[j])) % b[j];}}}}for(int i = 2; i <= 4; i++){excrt(a[i - 1], a[i], b[i - 1], b[i]);a[i] = a[i - 1]; b[i] = b[i - 1];}cout << qpow(g, a[4], mod);return 0;
}
http://www.jsqmd.com/news/311823/

相关文章:

  • 2026专利代写AI工具大揭秘,让申请更专业高效,智能专利/专利去重校验/智能专利申请/专利代办,专利代写平台怎么选择
  • 收藏!AI浪潮下程序员转型指南:从入门到实战掌握大模型
  • 收藏!后端+大模型应用开发:当前最稳的技术成长路线
  • 收藏!全模态大模型部署神器,vLLM-Omni 100% 开源来袭
  • 收藏备用|AI智能体爆火:产品经理程序员必懂的底层逻辑与实操指南(附精选Agent架构图下载)
  • 收藏级!程序员从零转型大模型领域全攻略(小白友好版)
  • ArcGIS实习教程
  • mac键盘
  • maintenance_work_mem设置不合理导致不能启动hgdb-se4.3.2服务
  • spring boot实现接口数据脱敏,整合jackson达成敏感信息隐藏脱敏
  • 闹钟厂家推荐:义乌锐意科技如何重塑日常时间管理体验
  • 盘点好用的防爆高压清洗机,专业厂家告诉你怎么选购
  • 讲讲深圳不锈钢螺丝生产厂家推荐,哪家性价比高口碑好呢
  • 新阳光有轨电车厂家靠谱吗,看看它的客户案例
  • 探讨不锈钢卷生产厂和加工厂品牌,哪家值得合作
  • 聊聊北京服务不错的博物馆通票服务品牌企业,价格多少钱
  • 2026年食用面碱品牌大比拼:哪款更值得你选择?生粉/超级生粉/型煤淀粉/锅包肉专用粉/纸袋淀粉,食用面碱厂商推荐
  • 数据工程新范式:NoETL 统一语义层破解跨境电商 ROI 统筹与数据孤岛难题
  • 2026年北京信誉好的博物馆通票服务公司排名,哪家性价比高?
  • 2026年当下排名前五铝门窗定制怎么选择,推拉窗/铝门窗/窗纱一体铝门窗/门窗/平移断桥提升窗,铝门窗厂商排行榜
  • Krita 5.2.15 发布 - 开源免费绘画软件
  • SpringBoot:配置Jasypt加密yml配置文件属性(本地或Nacos无影响)
  • 2026汽车增压器零售排行,适配三菱奕歌的优选,久保田增压器/康明斯增压器/威孚增压器,汽车增压器改造推荐排行
  • 从询盘到成交通路图:外贸0-1培训如何帮工厂搭建可复制的成交体系
  • 【2026】 LLM 大模型系统学习指南 (28)
  • 【2026】 LLM 大模型系统学习指南 (29)
  • 【2026】 LLM 大模型系统学习指南 (30)
  • 告别杂乱管理!一站式二手车小程序源码 支持建立完整的品牌-车型库
  • thinkphp3.2.x 代码执行
  • 2026 最新市政管/家装管/PVC管/家装水管品牌TOP5评测!品质铸就口碑,技术引领行业新标准