数论1
1. 欧拉函数
1-N中与N互质的数的个数:
\[已知N=p_1^{a_1}p_2^{a_2}\cdots p_n^{a_n},则\phi(N)=N\times(1-\frac{1}{p_1})(1-\frac{1}{p_2})...(1-\frac{1}{p_n})
\]
2. 筛欧拉函数
- 与线性筛同步,注意先初始化euler[1]=1
- 线性筛筛到素数时,euler[i]=i-1
- 线性筛筛出合数时有两种情况
- i的最小质因子为prime[j] 则由欧拉函数知道\(\phi(i\cdot prime[j])=\phi(i)\cdot prime[j]\)
- i的最小质因子不是prime[j] 由欧拉函数知道\(\phi(i\cdot prime[j])=\phi(i)(prime[j]-1)\)
3. 快速幂
问题描述:
给定a,p,k,求出
\[a^k\mathrm{mod}\;p=?
\]
简单的二进制优化
4. 同余欧拉定理
已知一个数与当前的数互质,寻找另一个数与当前的数互质
设\(a,m\in N^+,(a,m)=1,\)
\[a^{\phi(m)}\equiv 1(\mathrm{mod} \;m)
\]
推论 费马小定理
当m为质数时,
\[a^{m-1}\equiv 1(\mathrm{mod}\;m)
\]
5. 裴蜀定理
\[ax+by=m有整数解(x,y)\Leftrightarrow m是(a,b)的倍数
\]
6. 扩展欧几里得算法
用于寻找裴蜀定理的解
将ax+by=gcd(a,b)转化成by+a%b·x=gcd(a,b)的子问题,解出子问题从而得到原问题的解
\[\begin{align}
& by+[a-\lfloor \frac{a}{b}\rfloor\cdot b]\cdot x=gcd(a,b)\\
& ax+b(y-\lfloor \frac{a}{b}\rfloor\cdot x)=gcd(a,b)
\end{align}
\]
其中,任意解的形式为:
\[\begin{align}
x=x_0+k\displaystyle{\frac{b}{gcd(a,b)}}\\
y=y_0-k\displaystyle{\frac{a}{gcd(a,b)}}
\end{align}
\]
7. 求解线性同余方程
\[a\times x\equiv b(\mathrm{mod}\;m)
\]
转化为:
\(a\times x+m\times(-y)=b\)
由裴蜀定理,上述方程有解当且仅当b为(a,m)的倍数
由扩展欧几里得算法可以给出它的一个解,当然也可以给出任意解的形式
int main()

$$
\begin{aligned}
&1. 欧拉函数与欧拉同余定理 \\
&2. 快速幂与逆元 \\
&3. \mathrm{Bezout}定理与扩展欧几里得算法 \\
&4. 线性同余方程与中国剩余定理 \\
\end{aligned}
$$
浙公网安备 33010602011771号