首页 > 其他分享 >咸鱼学妹大战数论

咸鱼学妹大战数论

时间:2025-01-20 21:55:22浏览次数:1  
标签:gcd 数论 学妹 varphi int 咸鱼 卷积 函数

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

数论-质数

欧拉筛

线性筛

数论-因数倍数(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

标签:gcd,数论,学妹,varphi,int,咸鱼,卷积,函数
From: https://www.cnblogs.com/zhangtj/p/18682555

相关文章

  • 2025dsfz集训Day6: 数论
    DAY6:数论快速幂快速幂是针对快速求解\(A^b\)结果的算法,对于\(b\)可以分解为2进制,例如对\(3^{11}=3^{2^3+2^1+2^0}\),由于\(b\)可以被分解后最多只会包含\(log_2b\)个1,因此时间复杂度为\(O(log_2b)\),而并非原本的\(O(b)\)例题洛谷P1226|【模板】快速幂这题要记得每......
  • 快速数论变换总结
    前置根据快速傅里叶变换,可以在\(\Theta(n\logn)\)的时间计算卷积。但是由于用到了复数及三角函数,具有精度误差,且不方便取模。于是考虑快速傅里叶变换在数论上的实现,避免了精度误差,支持了取模运算。引入概念原根:阶定义由欧拉定理可知,对\(a\in\mathbf{Z},m\in\mathbf{N}^......
  • 数论函数及定理
    数论函数及定理积性函数附OIWiki链接。定义对于函数\(f(x)\),满足\(f(1)=1\)且\(\forall\gcd(a,b)=1,f(ab)=f(a)f(b)\)。则\(f(x)\)是积性函数。如果对所有\(a,b\)都成立,\(f(x)\)就是完全积性函数。例子欧拉函数\(\varphi(x)\)是积性函数。欧拉函数定义......
  • 咸鱼学习第一天
    markdown以及编辑器obsidian的学习1创建新笔记Ctrl+nCtrl+o(可以快速打开需要的笔记;可以加文档名+笔记标题)2文档属性设置三个“---”可以添加日期、别名、标签3最常用语言一个’-‘加一个空格是一个小圆点几个“#”+一空格就是几级标题链接设置①:如我要在笔记中插入第......
  • 【学习笔记】【数论】欧拉函数&莫比乌斯函数及反演
    一、欧拉函数1.欧拉函数的意义\(\phi(n)\)表示从\(1\)到\(n\)所有与\(n\)互质的数的数量。表达式为:\(\sum\limits_{i=1}^{n}[\gcd(i,n)=1]\)。2.欧拉函数的通解公式\(\phi(n)=n\prod\limits_{i=1}^{k}(1-\frac{1}{p^i})\)(\(p_i\midn\),\(p_i\)为素数,\(k\)为小于等于......
  • 快速数论变换 NTT
    更新日志2025/01/08:开工。前置知识本文将在\(\text{FTT}\)基础上进行讲解。同时请确保会欧拉函数等数论基础。作用\(\text{FFT}\)需要用到复数,而double使我们面临严重的精度问题。所以,我们需要一个更精确的算法——\(\text{NTT}\)。以及,它还要快上不少。这个......
  • 数论基础B
    数论基础B试除法判定质数暴力做法:枚举\(2\)~\(n-1\)的所有数,判断能否将\(n\)整除,如果存在一个数能把\(n\)整数,说明\(n\)不是质数实际上只需要枚举到\(\sqrt{n}\)即可,如果\(a\)是\(n\)的约数,那么\(\frac{n}{a}\)也是\(n\)的约数,我们只需要检验\(min(a,\fr......
  • 初等数论-06-连分数
    连分数定义设\(a_0,a_1,...,a_n,...\)是一个无穷实数序列,其中\(a_j>0,j≥1,n\)为非负整数。分数\[a_{0}+\frac{1}{a_{1}+\frac{1}{a_{2}+\cdots+\frac{1}{a_{n}}}}\]称为有限连分数,如果\(a_0\)为整数,\(a_1...a_n\)为正整数,则称为有限简单连分数。当\(n→∞\)时,则分别称为连分......
  • 初等数论-05二次剩余
    设\(m>1,(n,m)=1\),如果方程\[x^2≡n(modm)\]有解,则称\(n\)为模\(m\)的二次剩余,否则称\(n\)为模$$m的二次非剩余。Legendre符号设为\(p\)素数,\(n\)为整数,关于变量\(n\)的函数\(({n\overp})\)=1,若n为模p的二次剩余-1,若n为模p的二次非剩余0,p|n称为Legendre符号Lege......
  • 数论基础A
    数论基础A欧几里得算法(辗转相除法)求最大公约数GCD有两个整数\(a,b(a>b)\),记它们的最大公约数为\(gcd(a,b)\),对于任意的\(a,b\ne0\)满足等式:\[gcd(a,b)=gcd(b,a\%b)\]充分性证明:设\(d\)为\(a,b\)的最大公约数,那么有\(d\mida\)和\(d\midb\)成立,组合出\(d......