咸鱼学妹大战数论

news/2025/1/20 21:48:14/文章来源:https://www.cnblogs.com/zhangtj/p/18682555

有些比较浅显易懂的就偷懒没写了。

数论-质数

欧拉筛

线性筛

数论-因数倍数(upd:25/1/20)

\(a,b\) 最大公因数记为 \(\gcd(a,b)\),无歧义时可记为 \((a,b)\)

\(a,b\) 最小公倍数记为 \(\text{lcm}(a,b)\),无歧义时可记为 \([a,b]\)

\(a\)\(b\) 的倍数 \(=\) \(b\)\(a\) 的因数 \(=\) \(b\) 能整除 \(a\) \(=\) \(a\) 能够被 \(b\) 整除 \(=\) \(b|a\)

\(\gcd\)

以下来自 AI 聚合:

  1. 交换律:\(\gcd(a, b) = \gcd(b, a)\)

  2. 负数性质:\(\gcd(−a, b) = \gcd(a, b)\)

  3. 自身性质:\(\gcd(a, a) = |a|\)

  4. 零性质:\(\gcd(a, 0) = |a|\)

  5. 模运算性质:\(\gcd(a, b) = \gcd(b, a \mod b)\)(辗转相除法)

  6. 减法性质:\(\gcd(a, b) = \gcd(b, a − b)\)(辗转相减法)

  7. 分配律:如果有一个自然数 m,则 \(\gcd(ma, mb) = m ∗ \gcd(a, b)\)

  8. 线性组合性质:\(m \in \mathbb{Z}\)\(\gcd(a + mb, b) = \gcd(a, b)\)(可用减法性质证明)。

  9. 乘法性质:\(\gcd(ab, m) = \gcd(a, m) ∗ \gcd(b, m)\)

  10. \(\gcd\)\(\text{lcm}\) 关系:\(\forall a,b \in \mathbb{N},\gcd(a,b)\text{lcm}(a,b)=ab\)

往数集中加入一个数,要么 \(\gcd\) 不变,要么最多变为原来的 \(\frac{1}{2}\)

数论-同余方程

裴蜀定理

对于任意自然数 \(a,b\),存在整数 \(x,y\) 满足 \(ax+by=\gcd(a,b)\)

线性同余方程

形如 \(ax \equiv b \pmod m\),转化为求 \(ax+my=b\) 的解。

\(gcd(a,m) \nmid b\) 则无解。

否则利用 exgcd 求得一组 \(ax+my=\gcd(a,m)\) 的特解 \(x_0,y_0\)

方程的通解为:

\[\left\{ \begin{aligned} x=x_0+\frac{km}{\gcd(a,m)}\\ y=y_0-\frac{ka}{\gcd(a,m)} \end{aligned} \right. \]

exgcd/拓展欧几里得算法

貌似这种写法比较多。

int exgcd(int a,int b,int &x,int &y){if(!b){x=1,y=0;return a;}int d=exgcd(b,a%b,x,y);int tmp=x;x=y;y=tmp-a/b*y;return d;
}

将递\(x,y\) 交换也可以这样写,注意区别:

int exgcd(int a,int b,int &x,int &y){if(!b){x=1,y=0;return a;}int d=exgcd(b,a%b,y,x);y-=a/b*x;return d;
}

CRT

NOIP 应该没有这么裸的题吧,EXCRT 什么的就不学了。

对于

\[\left\{ \begin{aligned} x \equiv a_1 \pmod {m_1} \\ x \equiv a_2 \pmod {m_2} \\ \text{...} \\ x \equiv a_n \pmod {m_n} \end{aligned} \right. \]

\(MOD=\prod_{i=1}^n m_i,M_i= \frac{MOD}{m_i}\)

\(t_i\) 表示 \(M_i\) 在模 \(m_i\) 意义下的逆元。

\(ans=(\sum_{i=1}^n a_i M_i t_i)\mod MOD\)

BSGS 求解高次同余方程

数论-卷积

OI 中常见的卷积:

  1. 加法卷积:\(t(n)=\sum_{i=0}^n f(i)g(n-i)\)
  2. 乘法卷积(狄利克雷卷积):\(t(n)=\sum_{i|n} f(i)g(\frac{n}{i})\)
  3. 异或卷积与 FWT(还不会)。
  4. \((\max,+)\) 卷积:\(g(n)=\max_{i=0}^n (f(i)+f(n-i))\)

狄利克雷卷积

\[t(n)=\sum_{i|n} f(i)g(\frac{n}{i}) \]

\(f\)\(g\) 卷积记为 \(f \star g\)

数论-数论函数(定义在正整数集上)

Preface

\(I(n)=1\),常数函数;

\(\epsilon(n)=[n=1]\),单位函数;

\(\text{id}(n)=n\),恒等函数。

这三者看似无用,但它们之间的运算可以表达出常见的数论函数:

欧拉函数 \(\varphi(n)\)、约数个数函数 \(\sigma_0(n)\) ……

欧拉函数

\(\varphi(n)\) 表示 \(1\sim n\)\(n\) 互质的数的个数。

\(n=p_1^{c_1}p_2^{c_2}\dots p_k^{c_k}\)\(p\) 为两两不同的素数,则 \(\varphi(n)=(p_1-1)(p_2-1)\dots(p_k-1)\)

  1. \(\varphi(1)=1\)

  2. 质数 \(p\)\(\varphi(p)=p-1\)

  3. \(a,b\) 互质则 \(\varphi(ab)=\varphi(a)\varphi(b)\)(普通积性函数)。

欧拉函数可以在线性筛时 \(O(n)\) 求得。

欧拉定理

\[\forall a,n\in\mathbb{N}_+\gcd(a,n)=1,a^{\varphi(n)} \equiv 1 \pmod n \]

欧拉定理的推论

\[\forall a,b,n \in \mathbb{N}_+ \gcd(a,n)=1,a^b \equiv a^{b \bmod \varphi(n)}\pmod n \]

拓展欧拉定理

\[\forall b\geq \varphi(n),a^b \equiv a^{(b\bmod \varphi(n))+\varphi(n)} \]

证明略复杂。

费马小定理

\[\forall p\in \text{prime},a^p \equiv a \pmod p \]

欧拉定理的一个特例。

莫比乌斯函数

两数相乘为 \(1\) 是乘法逆元,类似地,两函数相卷得到幺元 \(ϵ\),则两函数互为卷积逆元。Mobius 函数实际上就是一个构造出的 \(I\) 的逆元,记作 \(μ\)

\(μ\) 是一个积性函数,定义式为:

\[\mu(n)=\begin{cases} 1&n=1\\ (-1)^k&n=p_1p_2\cdots p_k,~~~~p\text{ 为两两不同的素数}\\ 0&\text{otherwise} \end{cases} \]

\(μ\) 函数是为了满足下式:

\[I⋆μ=ϵ \]

\[\sum_{d|n}\mu(d)=[n=1] \]

Mobius 反演

充分认识 \(μ\) 之后,反演公式其实非常浅显。对于两个数论函数 \(f,g\),满足:

\(f=g\star I\Longleftrightarrow g=f\star\mu\)

例题

P2568 GCD P4450 P2522 P3455

References

  1. 王鑫(竞赛教练)初等数论.pdf
  2. https://www.cnblogs.com/rainybunny/p/14359098.html

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

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

相关文章

OpenWRT配置旁路由/中继模式,同时配置作为NAS必备的IPv6公网IP

1. 环境和要达成的目标 1.1 目标 主路由已配置好拨号,DHCP,IPv6 已刷OpenWRT路由B70作为中继路由,提高覆盖,解决一些老旧只能设备接入问题。 OpenWRT路由同时插入移动硬盘,配置WebDAV和smba作为NAS使用,所以此路自身要能获取到IPv6地址。 我的OpenWRT路由是极路由4,刷的…

【网关系统】通用设计

本文准备围绕七个点来讲网关,分别是网关的基本概念、网关设计思路、网关设计重点、流量网关、业务网关、常见网关对比,对基础概念熟悉的朋友可以根据目录查看自己感兴趣的部分。 一、什么是网关 网关,很多地方将网关比如成门, 没什么问题, 但是需要区分网关与网桥的区别,…

一文告诉你Linux下如何用C语言实现ini配置文件的解析和保存

嵌入式项目开发中,会有很多功能模块需要频繁修改参数,Linux下我们可以通过ini格式的文件保存配置信息。 本文通过开源库iniparser,详细讲解如何用C语言实现ini文件的参数解析和配置保存。 本文代码实例获取方式见文末。 一、ini文件 1 什么是 ini文件INI(Initialization F…

Mysql的学习

Mysql建立 索引优化: sql优化: 为了解决下面的索引失效问题序列索引优化:

中考英语优秀范文-014 The hero in my heart 我心中的英雄

1 写作要求 自古以来,人们对英雄的定义没有统一的标准。英雄可以是科学家、军人、运动员,也可以是医生、保安或外卖骑手。假如你是学校广播站的一名英语播报员,明天你准备向大家介绍一位你心目中的英雄,请你根据下面的要点提示,写一篇英语广播稿。 1 须包含提示中的所有内…

python 探空数据根据时间偏移量计算具体时间

这里有一组探空数据,每天08时和20时放气球,气球飞上去的时间就是用时间偏移量来计算的,而不是直接显示好的 根据“年”“月”“日”“时”“时间偏移量”列,时间偏移量单位为秒,计算具体的时间 #!/usr/bin/python3 # -*- coding: utf-8 -*- """ @Time : 20…

LaTeX之符号表

本文介绍了在 $\LaTeX{}$ 中常用的符号。\(\LaTeX{}\) 之符号表 目录\(\LaTeX{}\) 之符号表\(\LaTeX{}\) 普通符号文本/数学模式通用符号希腊字母二元关系符二元运算符巨算符数学重音符号箭头作为重音的箭头符号定界符用于行间公式的大定界符其他符号AMS 符号AMS希腊字符和希伯…

【抓包工具】wireshark零基础使用教程

Wireshark是什么 Wireshark是使用最广泛的一款「开源抓包软件」,常用来检测网络问题、攻击溯源、或者分析底层通信机制。 它使用WinPCAP作为接口,直接与网卡进行数据报文交换。 Wireshark抓包原理 Wireshark使用的环境大致分为两种,一种是电脑直连互联网的单机环境,另外一种…

多端响应式

重要!响应式开发 目录重要!响应式开发是什么?怎么实现?媒体媒体查询断点是什么适配方案栅格布局响应式栅格系统实例 是什么? 多终端显示不同,更好看 PC,ipad,手机适配 怎么实现? 媒体查询,断点: 视口宽不同,布局不同 移动端??? 320-480端口 rem 不考虑大尺寸,更…