线性组合、裴蜀定理、小凯的疑惑

问题的起源

已知 \(a,b\) 两个正整数,\(ax+by\) \((x,y\in\mathbb{Z})\) 的取值范围是怎么样的?

首先,若 \(y=0\),那么 \(ax+by\) 可以取 \(\cdots ,-2a,-a,0,a,2a,\cdots\),这些取值组成一个模 \(a\) 等价类 \([0]_a\)

根据整数模 \(n\) 的余数,我们可以将所有整数划分成 \(n\) 个等价类(也叫同余类、剩余类)。包含整数 \(a\) 的模 \(n\) 等价类为 \([a]_n=\{a+kn:k\in \mathbb{Z}\}\)。例如,\([3]_7=\{\cdots,-11,-4,3,10,17,\cdots\}\),这个集合同时也可以表示为 \([-4]_7\)\([10]_7\)

——《算法导论》

现在,我们让 \(y\) 逐渐增大,可以得到一系列模 \(a\) 等价类:\([0]_a,[b]_a,[2b]_a,\cdots\),而这些集合的并集就是 \(ax+by\) \((x,y\in\mathbb{Z})\) 所有可能的取值。

这里以 \(a=14,b=18\) 为例打个表:

\[\begin{array}{c} y & 0 & 1 & 2 & 3 & 4 & 5 & 6 & {\color{Red}{7}} & 8 \\ yb & 0 & 18 & 36 & 54 & 72 & 90 & 108 & 126 & 144 \\ yb \bmod a & 0 & 4 & 8 & 12 & 2 & 6 & 10 & {\color{Red}{0}} & 4 \end{array} \]

可以看到 \(y={\color{Red}{7}}\)\(yb \bmod a\) 的值为 \(0\),进而有 \([{\color{Red}{7}}b]_a=[0]_a\),即 \(y={\color{Red}{7}}\)\(ax+by\) 可能的取值与 \(y=0\) 时是相同的。此后 \(yb \bmod a\) 的值又会重复出现 \(0,4,8,12,2,6,10\),都与前面的重复了,因此也不会引入任何新的 \(ax+by\) 的取值。

所以 \([0]_a\cup [4]_a\cup [8]_a\cup [12]_a\cup [2]_a\cup [6]_a\cup [10]_a\) 就是 \(ax+by\) 所有可能的取值。

至于这个 \({\color{Red}{7}}\) 是怎么来的呢?根据上面给过程,\({\color{Red}{7}}\) 是使得 \(yb\equiv 0 \pmod a\) 的最小正整数 \(y\),即使得 \(a\mid yb\) 的最小正整数 \(y\)

我们可以把 \(a,b\) 分解为 「各自特有的约数 \(k_1,k_2\)」 和 「公共约数 \(\gcd(a,b)\)」 两部分:\(a=k_1\gcd(a,b)\)\(b=k_2\gcd(a,b)\) \((k_1,k_2\in\mathbb{Z})\)

因为 \(\gcd(a,b)\) 已经是 \(a,b\) 的最大公约数了,那么剩下的部分 \(k_1,k_2\) 里面肯定不存在任何公约数了,即 \(k_1,k_2\) 互质。这样,我们可以把 \(a\mid yb\) 改写为 \(k_1\gcd(a,b)\mid yk_2\gcd(a,b)\),所以最小的满足该条件的 \(y\)\(k_1=\dfrac{a}{\gcd(a,b)}\)

到这里,我们得出了求 \(ax+by\) 取值范围的一个方法:

\[\{ax+by:x,y\in\mathbb{Z}\}=\bigcup_{i=0}^{a/\gcd(a,b)-1}[ib]_a=\bigcup_{i=0}^{a/\gcd(a,b)-1}[ib\bmod a]_a \]

再看一眼 \([0]_a\cup [4]_a\cup [8]_a\cup [12]_a\cup [2]_a\cup [6]_a\cup [10]_a\),你是否觉得有着某种规律?

排序一下:\([0]_a\cup [2]_a\cup [4]_a\cup [6]_a\cup [8]_a\cup [10]_a\cup [12]_a\)

你发现,这些数的间隔恰好都是 \(2\),巧了,\(\gcd(a,b)=\gcd(14,18)=2\)。而且 \(ax+by\) 可能的取值恰好就是 \(k\gcd(a,b)\) \((k\in\mathbb{Z})\) 可能的取值。对于任意的 \(a,b\) 情况是否都如此呢?

所有 \(ax+by\) 显然一定是 \(\gcd(a,b)\) 的整数倍,因此问题的关键就是所有 \(\gcd(a,b)\) 的整数倍是不是都能写成 \(ax+by\),即 \(ax+by\) 能否取到 \(k\gcd(a,b)\) 的所有值。

因为 \(\displaystyle\{ax+by:x,y\in\mathbb{Z}\}=\bigcup_{i=0}^{a/\gcd(a,b)-1}[ib\bmod a]_a\),所以只需证明 \(ib\bmod a\) \((0\le i \le \frac{a}{\gcd(a,b)} -1)\) 能够取到 \([0,a-1]\) 范围内的所有 \(\gcd(a,b)\) 的倍数即可。

怎么证明?

\(0\le i \le \frac{a}{\gcd(a,b)} -1\) 范围内 \(i\) 的取值有 \(\frac{a}{\gcd(a,b)}\) 个,而 \([0,a-1]\) 范围内 \(\gcd(a,b)\) 的倍数也有 \(\frac{a}{\gcd(a,b)}\) 个。因此,只需证明 \(ib\bmod a\) 两两互不相同即可。

假设 \(0\le i \le \frac{a}{\gcd(a,b)} -1\) 范围内存在两个数 \(i_1<i_2\) 使得 \(i_1b\bmod a=i_2b\bmod a\),即 \(a|(i_2-i_1)b\)

\(0\le i \le \frac{a}{\gcd(a,b)} -1\)\(i_2-i_1 \le \frac{a}{\gcd(a,b)} -1\),这与 \(\frac{a}{\gcd(a,b)}\) 是使得 \(a\mid yb\) 的最小正整数 \(y\) 相矛盾!因此 \(ib\bmod a\) 两两互不相同,也就证明了

\[\boxed{\{ax+by:x,y\in\mathbb{Z}\}=\{k\gcd(a,b):k\in\mathbb{Z}\}} \]

裴蜀定理

经过上述推导之后,裴蜀定理便是显然的了。

裴蜀定理得名于法国数学家艾蒂安·裴蜀,说明了对任何整数 \(a,b\) 和它们的最大公约数 \(d\),关于未知数 \(x\)\(y\) 的线性丢番图方程(称为裴蜀等式):

\[ax + by = m \]

有解当且仅当 \(m\)\(d\) 的倍数。裴蜀等式有解时必然有无穷多个整数解,每组解 \((x,y)\) 都称为裴蜀数,可用辗转相除法求得。

例如,\(12\)\(42\) 的最大公因子是 \(6\),则方程 \(12x + 42y = 6\) 有解。事实上有 \((-3)\times 12 + 1\times 42 = 6\)\(4\times 12 + (-1)\times 42 = 6\)

特别来说,方程 \(ax + by = 1\) 有解当且仅当整数 \(a\)\(b\) 互素。

裴蜀等式也可以用来给最大公约数定义:\(d\) 其实就是最小的可以写成 \(ax + by\) 形式的正整数。这个定义的本质是整环中「理想」的概念。因此对于多项式整环也有相应的裴蜀定理。

小凯的疑惑

来源:[NOIP2017 提高组] D1T1

题目描述

小凯手中有两种面值的金币,两种面值均为正整数且彼此互素。每种金币小凯都有无数个。在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的。现在小 凯想知道在无法准确支付的物品中,最贵的价值是多少金币?注意:输入数据保证存在 小凯无法准确支付的商品。

输入格式

两个正整数 \(a\)\(b\),它们之间用一个空格隔开,表示小凯中金币的面值。

输出格式

一个正整数 \(N\),表示不找零的情况下,小凯用手中的金币不能准确支付的最贵的物品的价值。

分析

因为 \(a,b\) 互质,\(\gcd(a,b)=1\),所以 \(\{ax+by:x,y\in\mathbb{Z}\}=\{k\gcd(a,b):k\in\mathbb{Z}\}=\mathbb{Z}\)。但是这并没有用,因为这里的 \(x,y\) 可以取负数,而题中 \(x,y\) 只能取非负数。

形式上,本题需要求最大的不属于 \(\{ax+by:x,y\in\mathbb{N}\}\) 的正整数,这就需要我们分析 \(ax+by\) \((x,y\in\mathbb{N})\) 的取值范围。

我们可以仿照前面的思想,记 \([x]_a^+ = [x]_a \cap [x,+\infty)\)(这个符号是我自己定义的新符号),那么

\[\{ax+by:x,y\in\mathbb{N}\} = \bigcup_{i=0}^{a/\gcd(a,b)-1}[ib]^+_a = \bigcup_{i=0}^{a-1}[ib]^+_a \]

\(a=5, b=7\) 为例打个表:

\[\begin{array}{lllllll} i & 0 & 1 & 2 & 3 & 4 \\ ib & 0 & 7 & 14 & 21 & 28 \\ [ib]_a^+ & \{0,5,10,\cdots\} & \{7,12,17,\cdots\} & \{14,19,24,\cdots\} & \{21,26,31,\cdots\} & \{28,33,38,\cdots\} \end{array} \]

这里贴一张大佬做的图:

从图中可以明显看出 \(28\) 上面的一个数就是不能支付的最昂贵价值。

严谨地讲就是:

因为 \(\{ax+by:x,y\in\mathbb{Z}\}=\mathbb{Z}\)\(\displaystyle\{ax+by:x,y\in\mathbb{Z}\}=\bigcup_{i=0}^{a/\gcd(a,b)-1}[ib]_a=\bigcup_{i=0}^{a-1}[ib]_a\)

所以 \(\displaystyle\bigcup_{i=0}^{a-1}[ib]_a =\mathbb{Z}\),所以 \(\displaystyle\bigcup_{i=0}^{a-1}\left([ib]_a\cap[0,+\infty)\right)=\mathbb{N}\)

\(\displaystyle\{ax+by:x,y\in\mathbb{N}\} = \bigcup_{i=0}^{a-1}[ib]^+_a\)(记为集合 \(A\)

所以 \(\displaystyle\complement_{\mathbb{N}} A=\bigcup_{i=0}^{a-1}\left([ib]_a\cap[0,ib-1]\right)=\bigcup_{i=0}^{a-1}\left([ib]_a\cap[0,ib-a]\right)\)

所以 \(\max(\complement_{\mathbb{N}} A)=(a-1)b-a=ab-a-b\)

posted @ 2021-01-30 21:02  樱花赞  阅读(376)  评论(0编辑  收藏  举报