一些上课记的数论笔记

线性同余方程

例:[NOIP2012] 同余方程

形如\(ax \equiv c (\bmod m)​\)叫做线性同余方程。线性同余方程的线性指的是\(x​\)的次数为1次。

我们可以依次枚举\(x = 0, 1, \cdots ,m-1​\),时间复杂度\(O(m)​\)

显然上述方法效率不高。

其实,如果仔细考虑,我们可以变形得
\[ ax +my=c \]
再用扩展欧几里得算法求解。

根据裴蜀定理,我们可以判断出方程的有解条件为
\[ \gcd(a,m)\mid c \]
我们可以求出第一个解
\[ ax_0+my_0=\gcd(a,m) \]
可以得到:在\([0, 1, \cdots,m-1]\)之中有\(d\)个解。则
\[ x_k=\left(x_0+k\left(\frac m d\right)\right)\bmod m\ (1\leq k \leq d-1) \]
我们还可以通过欧拉定理求解。

\(d=\gcd(a,m)\),若\(d\nmid c\)则无解

整理得
\[ a'x \equiv c'\ (\bmod m'), \left( a' = \frac a d,\ m' =\frac m d,\ c' = \frac c d , \ \gcd(a',m') = 1\right) \]

\[ x\equiv a'^{\varphi(m')-1}c'\ (\bmod m') \]

\[ x \equiv a^{\prime \varphi\left(m^{\prime}\right)-1} c^{\prime}+k m^{\prime}(\bmod m), \ (0 \leq k<d) \]

例:线性组合

对应整数数列\(A_1, A_2, \cdots, A_n\)是否存在\(X_1, X_2, X_3, \cdots, X_n\),使得\(\sum _{k=1}^n {A_kX_k} = C\)

其中,\(\gcd(A_1, A_2, \cdots, A_n) \mid C \ (n > 2)\)

如有请找出一组解\((x_1,x_2,x_3,x_4)\)使得\(12x_1+24x_2+18x_3+15x_4=3\)

\[ \gcd(12,24)=12\\\gcd(12,24,18) = \gcd(\gcd(12,24),18)=\gcd(12,18)=6 \]

求解方程
\[ 6y_1+15x_4=3 \]
利用扩欧求出特解:
\[ \begin{cases} x_4=1\\y_1=-2 \end{cases} \]

\[ 12x_1+24x_2+18y_3=6y_1=-12 \]

接下来求解
\[ \gcd(12,24)y_2+18x_3=-12 \]

\[ 12y_2+19x_3=-12 \]
同样扩欧:
\[ \begin{cases} x_3=-2\\y_2=2 \end{cases} \]
最后求解
\[ 12x_1+24x_2=12y_2=24 \]
特解
\[ \begin{cases} x_1=2\\x_2=0 \end{cases} \]
最后得到答案\((2,0,-2,1)\)

线性同余方程组

形式如
\[ \begin{cases} x\equiv2(\bmod 3)\quad \cdots \cdots1\\x\equiv3(\bmod 5) \quad \cdots \cdots2\\ x \equiv 5(\bmod 7)\quad \cdots \cdots3 \end{cases} \]
可行解法:

\((1)\)得到设\(x=3y+2\),代入\(2\)\(3y+2\equiv3(\bmod 5)\),解得\(y\equiv2(\bmod 5)\)

\(y=5z+2\),代入\((3)\)得到\(3(5z+2)+2\equiv5(\bmod 7)\),解得\(z\equiv4(\bmod 7)\)

\(z=7k+4\),则\(x=3(5(7 k+4)+2)+2=105 k+68\)

因此\(x\equiv68(\bmod105)\)

中国剩余定理

今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?

\[ {a_{i}=\{2,3,2\}, m_{i}=\{3,5,7\}, M=3 \times 5 \times 7=105} \\ {M_{i}=\left\{\frac{105}{3}, \frac{105}{5}, \frac{105}{7}\right\}=\{35,21,15\}} \\ {t_{i}=\{\text { inverse }(35,3), \text { inverse }(21,5), \text { inverse }(15,7)\}=\{2,1,1\}} \\ {x \equiv 2(35 \times 2)+3(21 \times 1)+2(15 \times 1)} \\ {x \equiv 233 \equiv 23(\bmod 105)} \]

通解\(x=23+105k(k\in \mathbb Z)\)

线性同余方程组(不互素)

仅考虑方程数量为\(2\)的情况(方程数量\(>2\)可以迭代求解)
\[ \begin{cases} x\equiv c_1(\bmod m1)\\ x\equiv c_2(\bmod m2) \end{cases} \]
\(y=x-c_1\),则
\[ \left\{\begin{array}{c}{y \equiv 0\left(\bmod m_{1}\right)} \\ {y \equiv c_{2}-c_{1}\left(\bmod m_{2}\right)}\end{array}\right. \]
\(d=\gcd(m_1,m_2)\),若\(d\nmid (c_2-c_1)\)则方程组无解

否则
\[ \left\{\begin{array}{l}{y^{\prime} \equiv 0\left(\bmod m_{1}^{\prime}\right)} \\ {y^{\prime} \equiv c^{\prime}\left(\bmod m_{2}^{\prime}\right)}\end{array}\right. \]
其中
\[ y^{\prime}=\frac{y}{d}, c^{\prime}=\frac{c 2-c 1}{d}, m_{1}^{\prime}=\frac{m_{1}}{d}, m_{2}^{\prime}=\frac{m_{2}}{d} \text { 且 } \gcd(m_1', m_2') = 1 \]

\[ \therefore y^{\prime} \equiv c^{\prime} m_{1}^{\prime \varphi\left(m_{2}^{\prime}\right)}\left(\bmod m_{1}^{\prime} m_{2}^{\prime}\right) \]

代入得
\[ x\equiv dc'm_1'^{\varphi(m_2')}+c_1\ (\bmod dm_1'm_2') \]
大功告成。

例: [POJ 2891] Strange Way to Express Integers

给定\(2n\)个正整数\(a_1,a_2,\cdots,a_n\)\(m_1,m_2,\cdots,m_n,\)求出一个最小的正整数\(x\),求满足\(x \equiv a_i(\bmod m_i), i \in [1,n]\),或者给出无解。

我们假设已经求出了前\(k-1\)个方程构成的方程组的一个解\(x\)


\[ m=\prod _{i=1} ^{k-1} m_i \]
\(x+i\cdot m\)是前\(k-1\)个方程的通解。

考虑第\(k\)个方程,求出一个整数\(t\),使得\(x+t\cdot m\equiv a_k-x(\bmod m_k)\)\(t\)未知。

使用\(n\)次扩欧。

猜你喜欢

转载自www.cnblogs.com/JerryZheng2005/p/10582187.html
今日推荐