2025西安交大集训Day11:排列组合,扩展欧几里得,素数筛,欧拉函数,容斥原理逆元,BSGS,莫比乌斯反演,LUCAS定理

news/2025/4/3 1:32:40/文章来源:https://www.cnblogs.com/FrankWKD/p/18777926

快速幂

快速幂是我们解决中数论问题的基石让我们能以 \(O(logn)\) 的复杂度计算 \(a^n\)
快速幂的思想简单而言就是将 \(n\) 的二进制中所有的 \(1\) 代表的次幂乘起来比如计算 \(3^5,5=(101)_2\) ,则使用快速幂计算 \(3^5\) 的过程就是 \(3^{(1)_2}\times 3^{(100)_2}\)
参考代码如下:

int fp(int x, int y) {int res = 1;for (; y; y >>= 1, x = 1ll * x * x % mod) {if (y & 1) {res = 1ll * res * x % mod;}}
}

同余

设整数 \(m\mid(a-b)\) ,则我们称 \(\alpha\) 同余于 \(b\)\(m\) ,记作 \(a\equiv b\pmod m.\)
同余可以理解为模意义下的相等.
同余满足如下性质:

  • 线性运算:若 \(a \equiv b \pmod{m}\),$ c \equiv d \pmod{m} $ ,则 \(a \pm c \equiv b \pm d \pmod{m}\)\(a \times c \equiv b \times d \pmod{m}\)
  • \(a \equiv b \pmod{m}\)\(k \in \mathbb{N}_{+}\),则 \(ak \equiv bk \pmod{mk}\)
  • \(a \equiv b \pmod{m}\)\(d | m\),则 \(\frac{a}{d} \equiv \frac{b}{d} \pmod{\frac{m}{d}}\)
    同余类:设 \(m\in\mathbb{N}_+\) ,则可以将全体整数分为 \(m\) 个划分,每个集合满足其中的数模 \(m\) 均同
    余,将这 \(m\) 个集合称为模 \(m\) 的剩余类,用 \(r\bmod m\) 表示含有 \(r\) 的模 \(m\) 的剩余类。
    完全剩余系:对 \(m\) 个整数 \(a_1,a_2,\ldots,a_m\) ,若对任意整数 \(x\) ,有且仅有一个数满足 \(a_i\equiv x({\mathrm{mod~}}m)\) ,则称这 \(m\) 个数为模 \(m\) 的完全剩余系.在 OI 中常用最小非负剩余系,即:

\[0,1,\ldots,m-1. \]

最大公约数(\(gcd\)

\(a\)\(b\) 的最大公约数 \(\gcd(a,b)\) 定义为所有满足 \(c\mid a,c\mid b^1\)\(c\) 的最大值(\(c\)\(a,b\) 的公约数).最大公约数有
如下性质:

  • 结合律:\(\gcd(a_1,a_2,\ldots,a_n)=\gcd(\gcd(a_1,a_2),\ldots,a_n)\)
  • 分配律:\(\gcd(ma_1,ma_2,\ldots,ma_n)=m\gcd(a_1,a_2,\ldots,a_n).\)

最大公约数 \(gcd\) 与最小公倍数 \(lcm\) 有如下关系:

\[\gcd(a,b)\cdot\operatorname{lcm}(a,b)=ab \]

在 OI 中,我们通过辗转相除法的方法来求最大公约数.即 \(\gcd(a,b)=\gcd(b,a\) mod \(b)^3.\)
这个算法的时间复杂度是 \(O(\log a).\)
证明略.
代码如下:

int gcd(int a, int b) {reutrn b ? gcd(b, a % b) : a;
}

扩展欧几里得算法(Extended Euclidean Algorithm, Exgcd),常用于求不定方程 \(ax + by = gcd(a, b)\) 的一组解。具体流程如下:

\[\begin{cases}ax_1 + by_1 = \text{gcd}(a, b) \\bx_2 + (a \mod b)y_2 = \text{gcd}(b, a \mod b) \end{cases}\]

由于 \(\text{gcd}(a, b) = \text{gcd}(b, a \mod b)\),于是

\[\begin{aligned} & ax_1 + by_1 = bx_2 + (a \mod b)y_2 \\ &= bx_2 + ay_2 - \left\lfloor \frac{a}{b} \right\rfloor y_2 \times b \\ &= ay_2 + b\left(x_2 - \left\lfloor \frac{a}{b} \right\rfloor y_2\right) \end{aligned}\]

于是 \(x_1 = y_2\), \(y_1 = x_2 - \left\lfloor \frac{a}{b} \right\rfloor y_2\).

\(x_2, y_2\) 递归,直至 \(\text{gcd}\)\(0\) 时将 \(x = 1, y = 0\) 代入计算即可。
参考代码如下:

int exgcd(int a, int b, int& x, int& y) {cout << x << " " << y << "\n";if (!b) {x = 1, y = 0;return a;}int ans = exgcd(b, a % b, x, y);int tmp = x;x = y;y = tmp - a / b * y;return ans;
}

费马小定理

·对素数\(p\)以及任意自然数 \(a\) ,有 \(a^p\equiv a\pmod{p}.\)
·对素数\(p\)以及与其互素的自然数 \(a\) ,有 \(a^{p-1}\equiv1\pmod{p}.\)
我们使用数学归纳法证明这一定理,对于 \(\alpha=1\) ,显然结论成立.假设 \(p\mid(a^p-a)\) ,现在讨论
\(a+1\) 时的情况,即要证明 \(p\mid((a+1)^p-(a+1)).\)
将右侧使用二项式定理展开,则

\[(a+1)^p-(a+1)=\sum\limits_{k=1}^{p-1}\binom{p}{k}a^k+(a^p-a) \]

由于 \(p\) 是素数,故而对任意的 \(k,p\mid\binom pk.\) 由假设的结论可以得到 \(p\mid(a+1)^p-(a+1).\) 故费马小定理成立.
费马定理是欧拉定理:\(a^\varphi(m)\equiv1 \pmod m)(\gcd(a,m)=1)\) 的一个特殊情况,其中 \(\varphi(m)\) 是欧拉函数.
\(x\) 满足 \(ax \equiv 1 \pmod{b}\),则称 \(x\) 是在模 \(b\) 意义下 \(a\) 的乘法逆元,记作 \(a^{-1}\).

  • 求逆元的方法:
    • Exgcd 求逆元:相当于求 \(ax + by = 1\),要求 \(\gcd(a,b) = 1\)
    • 费马小定理求逆元:由 \(a^{p-1} \equiv 1 \pmod{p}\)\(a^{-1} \equiv a^{p-2} \pmod{p}\),快速幂即可。要求 \(p\) 是素数。
    • 线性求 \(1 \sim n\) 的逆元:令 \(p = kx + y\),则 \(k = \left\lfloor \frac{p}{x} \right\rfloor\)。有 \(kx + y \equiv 0 \pmod{p}\)。两边同时乘 \(x^{-1} \times y^{-1}\)。得到 \(x^{-1} \equiv -ky^{-1} \pmod{p}\)。递推即可。
void Inv(int n, int p) {inv[1] = 1;for (int i = 2; i <= n; ++i) {inv[i] = (long long)(p - p / i) * inv[p % i] % p;}
}

中国剩余定理

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

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

相关文章

百度推出端到端语音大模型,支持方言、可打断、电话语音成本砍半;雷神 AI 眼镜发布:语音助理+摄像头,1799 元起丨日报

开发者朋友们大家好:这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的 技术 」、「有亮点的 产品 」、「有思考的 文章 」、「有态度的 观点 」、「有看点的 活动 」,但内容仅代表编辑…

技术书《AI芯片开发核心技术详解》(1)、《智能汽车传感器:原理设计应用》(2)、《TVM编译器原理与实践》(3)、《LLVM编译器原理与实践》(4),谢谢

4本书推荐《AI芯片开发核心技术详解》、《智能汽车传感器:原理设计应用》、《TVM编译器原理与实践》、《LLVM编译器原理与实践》由清华大学出版社资深编辑赵佳霓老师策划编辑的新书《AI芯片开发核心技术详解》已经出版,京东、淘宝天猫、当当等网上,相应陆陆续续可以购买。该…

从准备到成交的全方位销售策略

在销售领域,成功的关键在于一系列精心策划与高效执行的步骤。以下这份销售实战指南,全面涵盖从前期准备到最终成交的全流程,旨在助力销售人员提升业绩,构建稳固的客户关系。一、充分筹备1. 夯实产品知识深入掌握产品卖点、功能、价格,并做好竞品分析。确保在与客户沟通时,…

[T.2] 团队项目:选题和需求分析

Study The Spire :卡牌肉鸽关于这款游戏​ Study The Spire 是一款富有创意的 Rougelike 卡牌游戏,将随机与卡牌构筑要素融入游戏,选择不同卡牌来构筑独特卡组来战胜敌人,精心规划你的路线,获得丰富的游戏体验,在游戏过程中你也会逐渐提升自己的专业领域知识,休闲的同时…

高性能计算-GPU并行扫描

1. 扫描概念对数组arr[N]扫描就是得到数组prefix[N],每个元素是之前arr元素的求和. 开扫描定义:prefix1[N] = { arr[0], arr[0]+arr[1], ..., arr[0]+arr[1]+arr[N-1] } 闭扫描定义: prefix2[N] = { 0, arr[0], arr[0]+arr[1], ..., arr[0]+arr[1]+arr[N-12}2. Hillis steele …

硬盘损坏盘片划伤还能恢复数据资料吗?专业数据恢复公司怎么修复

这是一块台式机电脑里的希捷4T机械硬盘,型号是ST4000DM004,是北京某单位客户寄过来的,描述说是突然损坏不识别,出现了吱吱的异响声,先在北京当地找了一家数据恢复公司做了开盘维修处理,说是盘片有损伤,难度很大,在客户前后多次支付备件服务费后,也仅仅做出了100G左右的…

B+树是如何进行查询的?

千里之行,始于足下。 —— 老子因为一个数据页中的记录是有限的,且主键值是有序的,所以通过对所有记录进行分组,然后将组号(槽号)存储到页目录,使其起到索引作用,通过二分查找的方法快速检索到记录在哪个分组,来降低检索的时间复杂度。 但是,当我们需要存储大量的记录…

使用RAGFlow和Docker部署本地知识库

随着DeepSeek的火热,大模型对与广大开发者越来越触手可及。本文介绍了使用 DeepSeek R1 模型来构建本地知识库。Ollama 管理本地模型首先要了解大模型的管理工具 Ollama:安装 OllamaOllama 官网   点击下载安装 Ollama 客户端;安装成功后打开,在终端中输入以下命令来检查是…

CherryStudio使用

一、概述 CherryStudio 是一款集多模型对话、知识库管理、AI 绘画、翻译等功能于一体的全能 AI 助手平台。 CherryStudio 高度自定义的设计、强大的扩展能力和友好的用户体验,使其成为专业用户和 AI 爱好者的理想选择。无论是零基础用户还是开发者,都能在 CherryStudio 中找到…

app测试——adb基本命令

ADB常用的指令:查看当前连接设备 : adb devices进入到shell : adb shell查看日志 : adb logcat ctrl+c退出安装apk文件 : adb install xxx.apk 安装安卓版本后缀apkk包测试包路径:E:\dcs\two\app\baiduyuedu_5520.apk卸载APP : adb uninstall +包名案例:adb uninstall…

移动端动态化建设的演进与实践:从技术革新到生态繁荣

移动端动态化建设已从技术优化演变为企业战略的核心组成部分。尤其在业务迭代加速、生态竞争加剧的背景下,小程序容器技术以其高效、灵活、合规的特性,成为动态化演进的重要方向。未来,随着5G、AI等技术的普及,动态化将进一步推动应用开发范式的变革,为智能终端生态的繁荣…

快节奏业务增长,还是得App混合开发

在用户需求瞬息万变、全球化竞争加剧的背景下,混合开发已从“成本妥协方案”进化为“战略效率工具”。通过跨端框架与小程序的生态协同,企业不仅能实现业务的快速迭代与全球扩张,更能在技术降本与用户体验间找到最佳平衡点。正如某金融科技公司CEO所言:“混合开发不是选择题…