前言
数论在OI中还是比较重要的,这些笔记是在课上匆忙记下的,可能不太美观。
一些约定:在这里整数间除法是向下取整;(a,b)代表gcd(a,b)
Problems:
小凯的疑惑
sol:构造
ax+by=k(a,b>=0) 使其无解
设一组解x1∈[0,b−1],y1>=0
若k>ab−a−b
则$y1>(k-ax1)/b = (ab-a-b-a(b-1))/b = -1即y1>=0故k=ab-a-b$是符合条件的最大值
上帝与集合的正确用法—扩展欧拉定理
https://www.lydsy.com/JudgeOnline/problem.php?id=3884
屠龙勇士—扩展中国剩余定理
用f(i)表示有序三元组(a,b,c)个数,使得a\b*c=i,求出f(1)~f(n)
sol:i=∏pici f(i)=∏Cci+22 使用扩展欧拉筛
数论之神
Algorithms:
线性推逆元:
inv[fac[i]]=inv[fac[i+1]]∗(i+1)设p=i∗k+r
i∗k+r≡0modp
i∗k≡−rmodp
r−1∗k≡−i−1modp
i−1≡−p/i∗inv[p%i] modp
中国剩余定理
ExCRT(增量法):若m不互质
x≡amodb−>x=kb+a
x≡cmodd−>kb+a≡cmodd−>kb+pd=c−a
条件(c−a)|gcd(b,d)
求解后回代即可埃式筛
欧拉筛-扩展 (未懂)
Miller-Rabin(未懂)
费马小定理&&二次剩余
Pollard-Rho(未懂)
生日攻击
类欧几里得算法(未懂)
https://www.cnblogs.com/LLppdd/p/8428349.htmlBSGS&&ExBSGS
Other Things:
∑Ni=11/i=O(logN)
- Prove:
下界 1/2 * log N
∑Ni=11/i>=1+1/2+1/4+1/4+1/8+1/8+1/8+1/8+…
上界 log N
∑Ni=11/i<=1+1/2+1/2+1/4+1/4+1/4+1/4+…
- Prove:
∑1/p=O(loglogN)
裴蜀定理: (a,b)|d is equal to ua+vb=d(u,v∈Z)
扩展欧几里得Exgcd:
amodb=a−a/b∗b
ua+vb=gcd(a,b)
u′b+v′(amodb)=gcd(a,b)
u′b+v′(a−a/b∗b)=gcd(a,b)
v′a+(u′−a/b∗ v′)∗b=gcd(a,b)
通解:x0=x+t∗b/(a,b) y0=y−t∗a/(a,b)
一个小性质
(k,m)=d 且 ka≡kbmodm则a≡bmodm/d
Prove:ka≡kbmodm−>m|(ka−kb)−>m|k(a−b)−>(m/d)|(a−b)简化剩余系
所有0<n<=m,(n,m)=1的n构成了模m的简化剩余系,简称缩系
记这样n的个数为ϕ(m)如果(m,m′)=1,a取遍模m缩系,a′取遍m’缩系
那么am′+a′m取遍mm′缩系- Prove:已知(a,m)=1,(a′,m′)=1,(m,m′)=1
(am′,m)=1,(a′m,m′)=1
(am′+a′m,m)=1,(a′m+am′,m′)=1 //加上另一个数的若干倍仍互质
(am′+a′m,mm′)=1 - 所以如果(n,m)=1,ϕ(nm)=ϕ(n)∗ϕ(m)
- Prove:已知(a,m)=1,(a′,m′)=1,(m,m′)=1
$phi(p^e)=(p-1)p^{e-1}=p^e(1-1/p) $ p是质数
- Prove:[1,pe]中与p不互质的数的个数为pe/p=pe−1
ϕ(pe)=pe−pe−1=pe∗(1−1/p)
- 计算公式:$\phi(p)= \prod \phi(p_i^{c_i}) = \prod (p^c_i (1-1/p_i)) = n \prod (1-1/p_i)$
- Prove:[1,pe]中与p不互质的数的个数为pe/p=pe−1
欧拉定理 如果(a,m)=1,aphi(m)≡1modm
Prove:设x取遍m的缩系,则ax取遍m的缩系
∏x=∏axmodm
∏x=∏x∗aϕ(m)modm //这样的a有phi(m)个
由于(x,m)=1,保证∏x存在模m意义下的逆元
所以 aϕ(m)≡1modm费马小定理 如果(a,m)=1,且m是个质数 am−1≡1modm
扩展欧拉定理 如果(a,m)!=1 则 ab≡amin(b,b%ϕ(m)+ϕ(m))modm
阶
如果(a,m)那么最小的正整数使得ax≡1modm,x称为a模m的阶
性质:x|ϕ(m)
Prove: 咕咕咕原根
如果g在模m的阶是ϕ(m),那么称g是模m的原根积性函数
欧拉函数,莫比乌斯函数,除数函数狄利克雷卷积
满足交换律结合律分配律,可用倍增
$(fg)(n) = \sum_{d|n} f(d)g(n/d)$
如果f,g是积性函数,f*g也是积性函数
f∗e=f 单位元:e e(1)=1,其他e(i)=0;
莫比乌斯函数
e(n)=∑d|nμ(d)Prove:转化为二项式系数后转化
性质: e(n)=μ(n)∗1
莫比乌斯反演
若f(n)=∑d|ng(d)
则g(n)=∑d|nμ(d)f(n/d)
Prove:
$f = g1\mu1 = e$
$f $$\mu = g 1 * \mu$
$f\mu= ge$
g=f∗μ -> g(n)=∑d|nμ(d)f(n/d)
∑Ni=0Cin=2n
∑Ni=0C(i,x)=Cx+1n+1 图像证明 竖列的组合数
∑Ni=0Cik+i=CNk+N+1 图像证明 斜列的组合数
∑mi=0CimCm−in−m=Cmn 组合意义
去评论