数论(小部分前置芝士)
-
数论的定义:
数论是专门研究整数的性质的数学分支,其中大部分研究的是正整数。
数论对信息学有很大作用
也是考试恶心人的利器。-
各类定义:
-
定理:符合某些条件的语句。一般的定理需要证明。
- 公理:公认正确的连续性定理,不需要证明。
-
复数(Complex Number) :可以表示的数,包含实数和虚数。
-
实数(Real Number) :可以用数轴表示的数,也可以写成数字(有些实数带符号,比如符号,分数线和根号)的形式。
-
实数包含有理数和无理数。
-
任意一个实数的偶数次幂都>0>0>0
-
有理数(Rational Number) :可分类成整数和分数。
-
整数(Integer) :类似0,−1,1,−2,20,-1,1,-2,20,−1,1,−2,2这样的数。
-
整数是数学上的基本概念,所以没有定义。
-
整数包含正整数(Positive Integer),负整数(Negative Integer)和 000 (Zero)
-
-
分数(Fraction):即无限循环小数和有限小数的总称。分数是有理数中除了整数外的一切数。
- 分数也分为正分数(Positive Fraction)和负分数(Negative Fraction)。
-
有理数的封闭性:任意有理数作运算都得到一个有理数。
-
-
-
无理数(Quational Number) :无限不循环小数。
-
无理数也分正负,这里就不细说。
-
无理数作加减乘除的运算,都可以得到一个多项式。
-
同类无理数之间可以加减。任意无理数之间可以乘除。
-
-
任意实数之间可以作运算。
-
虚数(Imagine Number) :不能用数轴表示的数,是不切实际的。
-
任意一个虚数的平方为−1-1−1
-
虚数可以用复平面表示。复平面就像一个平面直角坐标系。坐标系中的x轴成为实数轴,y轴成为虚数轴(虚数系数轴)。
-
虚数可以写成字母形式,例如i,ji,ji,j。
-
任意一个虚数都可以表示成a+bia+bia+bi的形式,其中a,ba,ba,b为有理数。
-
在复平面中,a+bia+bia+bi的位置在(a,b)(a,b)(a,b),原点和a+bia+bia+bi所在点的连线与x轴的夹角成为辐角。
-
如果两个虚数的积为实数则称这两个虚数共轭。其中任意一个虚数为另一个虚数的共轭复数。
-
-
-
-
-
集合:
-
集合是数学上的基本概念,所以集合没有定义。
-
集合的每一个单独的量成为该集合的元素。
-
集合的一些量组成的集合成为该集合的子集。
-
集合常用符号:
∅\emptyset∅ 或 ∅\varnothing∅ 空集 没有元素的集合。
∈\in∈ 属于 表示一个数属于某个集合。
∉\notin∈/ 不属于 表示一个数不属于某个集合。
例子:S={1,2,3,4,5}S=\{1,2,3,4,5\}S={1,2,3,4,5},则1∈S,6∉S1\in S,6\notin S1∈S,6∈/S
⊆\subseteq⊆ 包含于 表示一个集合是另一个集合的子集。
⊈\nsubseteq⊈ 不包含于 表示一个集合不是另一个集合的子集。
例子:S1={1,2,3,4,5},S2={2,3,4},S3={5,6,7}S_1=\{1,2,3,4,5\},S_2=\{2,3,4\},S_3=\{5,6,7\}S1={1,2,3,4,5},S2={2,3,4},S3={5,6,7},则S2⊆S1,S3⊈S1S_2\subseteq S_1,S_3\nsubseteq S_1S2⊆S1,S3⊈S1
∩\cap∩ 交 表示两个集合的共同部分。
∪\cup∪ 并 表示两个集合的共同部分和两个集合的单独部分。
例子:S1={1,2,3,4},S2={2,3,4,5},S3={5,6,7},S4=∅S_1=\{1,2,3,4\},S_2=\{2,3,4,5\},S_3=\{5,6,7\},S_4=\varnothingS1={1,2,3,4},S2={2,3,4,5},S3={5,6,7},S4=∅,
则有下列公式:
S2∩S1={2,3,4}\boxed{S_2\cap S_1=\{2,3,4\}}S2∩S1={2,3,4}
S2∪S1={1,2,3,4,5}\boxed{S_2\cup S1=\{1,2,3,4,5\}}S2∪S1={1,2,3,4,5}
S1∩S3=∅\boxed{S_1\cap S_3=\varnothing}S1∩S3=∅
S1∪S3={1,2,3,4,5,6,7}\boxed{S_1\cup S_3=\{1,2,3,4,5,6,7\}}S1∪S3={1,2,3,4,5,6,7}
S1∩S4=∅\boxed{S_1\cap S_4=\varnothing}S1∩S4=∅
S1∪S4=S1\boxed{S_1\cup S_4=S_1}S1∪S4=S1
-
集合的公理:
- 集合的每个元素都具有互异性。
-
-
通用集合:
NNN 自然数集(意思是这个集合包含所有的自然数。下方的意思均与该项类似)
N+N^+N+ 正整数集
ZZZ 整数集
Z+Z^+Z+ 正整数集
QQQ 有理数集
RRR 实数集
-
-
整除
- 前置芝士: 若m,n∈Zm,n \in Zm,n∈Z 且 n>0n>0n>0,则∃q,r\exists q,r∃q,r且0≤r<n0 \le r < n0≤r<n 使得 m=qn+rm=qn+rm=qn+r
此处不予证明,因为这是句废话,而且需要很长的篇幅来证明。
-
对于m,n∈Zm,n \in Zm,n∈Z 且 m≠0m \ne 0m=0,若n=cm,c∈Zn=cm,c\in Zn=cm,c∈Z,则称mmm整除nnn。记作:m∣nm\mid nm∣n
- 注意:m∣nm|nm∣n指的是nm\displaystyle\frac{n}{m}mn为整数,即n=cm,c∈Zn=cm,c\in Zn=cm,c∈Z.
-
一些引理:
-
若 n∈Zn\in Zn∈Z 则有 1∣n1\mid n1∣n
-
若 m≠0m\ne0m=0 则 m∣0m\mid 0m∣0
-
若 m∣n,n∣qm\mid n,n\mid qm∣n,n∣q 则 m∣qm\mid qm∣q
-
若 m∣1m\mid 1m∣1 则 m=1m=1m=1或−1-1−1
-
若 m∣n,n∣mm\mid n,n\mid mm∣n,n∣m 则m=±nm=\pm nm=±n
-
-
gcd(最大公因数):
-
任意两个数只有唯一一个最大公因数。
-
最大公因数定义:
-
对a,ba,ba,b且a,ba,ba,b不全为000
若有c∈Z满足:有c\in Z满足:有c∈Z满足:
c∣a,c∣bc\mid a,c\mid bc∣a,c∣b
若 ∃ d∣a\exists\,d\mid a∃d∣a 且 d∣bd\mid bd∣b 则 d∣cd\mid cd∣c
-
-
公因数:指两个数都有的因数
例如 8 的因数为 1,2,4,8,6 的因数为 1,2,3,6,则 8 和 6 的公因数为 1,2
最大公因数:指两个数的公因数中的最大数。
上面的例子中,6 和 8 的最大公因数为 2,记作gcd(6,8)=2
组合
Chapter I 卡特兰数
典型模型:
有一家电影院票价5美刀。
有2n个客人。
其中n个客人有5美刀。
另外n个客人有10美刀。
做生意需要找零钱,所以当客人付出10美刀时,你需要找零5美刀。
问题在于,你一开始没有钱。所以你需要在自己足够的有5美刀钱币时才能收10美刀钱币。
求你能成功找零的情况下,客人来的顺序的方案数。
答案:hnh_nhn
解析:
创建一个n*n的矩阵。现在我们在矩阵的(1,1)处。
如图:
n=5
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
假设收一个5美刀钱的人等价于向下走一步。
收一个10美刀钱的人等价于向右走一步。
则问题转化为:保证当前位置不在主对角线(左上->右下)上方(可以在线上)。
如图,* 为可走区域:
n=5
* 0 0 0 0
* * 0 0 0
* * * 0 0
* * * * 0
* * * * *
公式:
-
hi=∑i=0n−1hi×hn−i−1h_i=\displaystyle\sum\limits_{i=0}^{n-1} h_i\times h_{n-i-1}hi=i=0∑n−1hi×hn−i−1
-
hn=C2nnn+1h_n=\displaystyle\frac{C^n_{2n}}{n+1}hn=n+1C2nn
-
hn=C2nn−C2nn−1h_n=C_{2n}^n-C_{2n}^{n-1}hn=C2nn−C2nn−1
-
hn=hn−1×(4n−2)/(n+1)h_n=h_{n-1}\times(4n-2) /(n+1)hn=hn−1×(4n−2)/(n+1)
Chapter II 斯特林数
-
第一类
-
nnn个不同元素组成mmm个环排列
递推公式:S1n,m=S1n−1,m−1+S1n−1,m×(n−1)S_{1_{n,m}}=S_{1_{n-1,m-1}}+S_{1_{n-1,m}}\times (n-1)S1n,m=S1n−1,m−1+S1n−1,m×(n−1)
-
第一类斯特林数很难想出来
-
-
第二类
-
nnn个不同的球放入mmm个相同的盒子,盒子不定
递推公式:S2n,m=S2n−1,m−1+S2n−1,m×mS_{2_{n,m}}=S_{2_{n-1,m-1}}+S_{2_{n-1,m}}\times mS2n,m=S2n−1,m−1+S2n−1,m×m
-第二类斯特林数相对第一类而言,较为简单,但是还是难
-
斯特林数行列的模板都是黑题
数论没一个简单的东西,全寄吧是废人的题
Chapter III Lucas定理
前置芝士: CnmC_n^mCnm可以表示为(nm)\begin{pmatrix}n\\m\end{pmatrix}(nm)
然后你就可以这样祖安他人了。正确的
一个质数ppp,如果n=sp+qn=sp+qn=sp+q,m=tp+rm=tp+rm=tp+r
则(nm)≡(st)(qr)(modp)\begin{pmatrix}n\\m\end{pmatrix}\equiv\begin{pmatrix}s\\t\end{pmatrix}\begin{pmatrix}q\\r\end{pmatrix}\pmod{p}(nm)≡(st)(qr)(modp)
引理:
-
p为质数时,(pq)≡0(modp)\begin{pmatrix}p\\q\end{pmatrix}\equiv0\pmod{p}(pq)≡0(modp)
-
多项式f(x)=∑i=0Naixi\displaystyle f(x)=\sum\limits_{i=0}^{N}a_ix_if(x)=i=0∑Naixi,g(x)=∑i=0Mbixig(x)=\sum\limits_{i=0}^{M}b_ix_ig(x)=i=0∑Mbixi
-
(1+x)n=∑i=0nCnixi(1+x)^n=\displaystyle \sum\limits_{i=0}^{n}C_n^ix^i(1+x)n=i=0∑nCnixi
Chapter IV 欧拉函数和素数函数
素数函数:π(n)\pi(n)π(n) 表示nnn内质数的个数。
欧拉函数:φ(n)\varphi(n)φ(n) 表示nnn内和nnn互质的数的个数。
-
欧拉函数计算公式:φ(m)=m∏p∣m(1−1p)\varphi(m)=m\displaystyle\prod\limits_{p\mid m}(1-\frac{1}{p})φ(m)=mp∣m∏(1−p1)
-
欧拉函数的性质:
-
若ppp是质数,则φ(p)=p−1\varphi(p)=p-1φ(p)=p−1
-
∀m∈N+\forall m \in N^+∀m∈N+,有∑d∣mφ(d)=∑d∣mφ(md)=m\displaystyle\sum\limits_{d\mid m}\varphi(d)=\sum\limits_{d\mid m}\varphi(\frac{m}{d})=md∣m∑φ(d)=d∣m∑φ(dm)=m
-
证明:
-
对∀d∣m\forall d\mid m∀d∣m,1≤a≤m1\le a \le m1≤a≤m,设(a,m)=d(a,m)=d(a,m)=d,则(ad,md)=1(\displaystyle\frac{a}{d},\frac{m}{d})=1(da,dm)=1,则(a,m)=d(a,m)=d(a,m)=d有φ(d)\varphi(d)φ(d)种取法。则∑d∣mφ(md)=m\displaystyle\sum\limits_{d\mid m}\varphi(\frac{m}{d})=md∣m∑φ(dm)=m
-
-
aφ(m)≡1(modm)a^{\varphi(m)}\equiv1\pmod{m}aφ(m)≡1(modm),(a,m)=1(a,m)=1(a,m)=1时。
-
Chapter V 素数筛法
筛法 | 时间复杂度 | 原理 |
---|---|---|
埃氏筛 | O(NlnlnN)O(NlnlnN)O(NlnlnN) | 筛选到一个质数,把这个质数的所有≤n\le n≤n的倍数全都筛掉 |
欧拉筛 | 较快,O(N)O(N)O(N) | 对于每一个数,被其最小质数因子筛去 |
不提供证明,因为作者不会微只因分
又是数论
Chapter I 一些函数
-
质数函数 π(m)\pi(m)π(m) 表示 ≤m\le m≤m 的正整数中的质数个数。
-
欧拉函数 φ(m)\varphi(m)φ(m) 表示 111~mmm 中和 mmm 互质的数。
- 对m∈Z+m \in Z^+m∈Z+,φ(m)\varphi(m)φ(m) 表示 {1,2,…,m−1}\{1,2,\dots,m-1\}{1,2,…,m−1} 中和 mmm 互质的元素的个数。
-
莫比乌斯函数 μ(m)={0mhaveP21m=1(−1)km=p1p2…pk\mu (m)=\begin{cases}0&m_{have}P^2\\1&m=1\\(-1)^k&m=p_1p_2\dots p_k\end{cases}μ(m)=⎩⎨⎧01(−1)kmhaveP2m=1m=p1p2…pk
PS: mhaveP2m_{have}P^2mhaveP2表示m的因子中含有P的平方
Chapter II 简化剩余系
{x∣≡k(modm),k∈{1,2,…,m−1}&(k,m)=1}\{x |\equiv k\pmod{m},k \in \{1,2,\dots,m-1\}\& (k,m)=1\}{x∣≡k(modm),k∈{1,2,…,m−1}&(k,m)=1}
人话: 由 φ(m)\varphi(m)φ(m) 个整数组成,且每个元素与m互质,且任意两个元素 (modm)\pmod{m}(modm) 不同余。
Chapter III 拓展芝士:群的定义
本质是一个集合在该集合上定义运算×\times×(乘法)且该集合在这两种运算满足:
-
对 ×\times× 封闭:
- a,b∈S,a×b∈Sa,b\in S,a\times b\in Sa,b∈S,a×b∈S
-
a(bc)=(ab)ca(bc)=(ab)ca(bc)=(ab)c
-
∃\exists∃单位元 e∈Se\in Se∈S,有a−1a^{-1}a−1 满足a×a−1=ea\times a^{-1}=ea×a−1=e
-
∀a∈S\forall a\in S∀a∈S,有a−1a^{-1}a−1满足a×a−1=a−1×a=ea\times a^{-1}=a^{-1}\times a=ea×a−1=a−1×a=e
- 如果满足上述条件,则称 SSS 为群
举个栗子
-
非零实数集,关于普通乘法
-
{1}\{1\}{1},关于普通乘法。
-
类似于{1}\{1\}{1}这样的一个元素的集合成为平凡群
真 平 凡 啊
-
-
有理数集(去除0),关于普通乘法
-
ZZZ,关于普通加法
-
e=0e=0e=0
-
a−1=−aa^{-1}=-aa−1=−a
-
-
n阶可逆阵,对于矩阵乘法。
-
RRR
-
+++ 作成群
-
×\times× 不作成群
-
Chapter IV 乘法函数
前置芝士:算术函数
- 算术函数是指定义在所有正整数上的函数。
如果算术函数 fff 满足 f(mn)=f(m)f(n)f(mn)=f(m)f(n)f(mn)=f(m)f(n)
则称fff为乘法函数。
注意:(m,n)(m,n)(m,n)=1
如果fff对任意m,n∈Z+m,n\in Z^+m,n∈Z+,有f(m,n)=f(m)f(n)f(m,n)=f(m)f(n)f(m,n)=f(m)f(n),则称fff为完全乘法函数。
- φ\varphiφ 是乘法函数
一些定理
-
若fff为乘法函数且n=p1a1…psasn=p_1^{a_1}\dots p_s^{a_s}n=p1a1…psas为nnn的素数分解,则f(n)=∏i=1spiaif(n)=\displaystyle\prod\limits_{i=1}^{s}p_i^{a_i}f(n)=i=1∏spiai
-
令ppp为素数,a∈Z+a\in Z^+a∈Z+,则:φ(pa)=pq−pa−1\varphi(p^a)=p^q-p^{a-1}φ(pa)=pq−pa−1
-
由于φ\varphiφ 是乘法函数,则φ(nm)=φ(n)×φ(m)\varphi(nm)=\varphi(n)\times\varphi(m)φ(nm)=φ(n)×φ(m)
证明:
[1m+12m+1…(n−1)m+12m+22m+2…(n−1)m+23m+32m+3…3(n−1)m+3……………m2m3m…nmφ(m)φ(nm)]\begin{bmatrix}1&m+1&2m+1&\dots&(n-1)m+1\\2&m+2&2m+2&\dots&(n-1)m+2\\3&m+3&2m+3&\dots3&(n-1)m+3\\\dots&\dots&\dots&\dots&\dots\\m&2m&3m&\dots&nm\\\varphi(m)&&&&\varphi(nm)\end{bmatrix}123…mφ(m)m+1m+2m+3…2m2m+12m+22m+3…3m………3……(n−1)m+1(n−1)m+2(n−1)m+3…nmφ(nm)
看图心自知其实作者忘了怎么证明了
Chapter V 中国剩余定理
举个经典的例子:
lty2000 have a number but I don't know it.
Three three count it mod equal one.
Five five count it mod equal three.
Seven seven count it mod equal five.
Question:what's the number?
人话:求{x≡1(mod3)x≡3(mod5)x≡5(mod7)\begin{cases}x\equiv 1\pmod{3}\\x\equiv 3\pmod{5}\\x\equiv 5\pmod{7}\end{cases}⎩⎨⎧x≡1(mod3)x≡3(mod5)x≡5(mod7)的解
Chapter VI Pollard算法基本介绍(没码)
泼腊肉!恶臭恶俗的泼腊肉!
算法用于:对于nnn,找nnn的因数
适用数据范围:n很大,且素因数ppp很大。
引理:
若 a,b∈Z+a,b\in Z^+a,b∈Z+,则 2a−1(mod2b−1)2^a-1\pmod{2^b-1}2a−1(mod2b−1)的最小正余数为2r−12^r-12r−1,rrr是amod ba\mod bamodb的最小正余数
r(A)=r(A)=r(A)=阶梯形中主元的个数