组合数论

例1

给定正整数 \(n\ge 2\) 。求最小的正整数 \(m\) ,满足:对任意 \(m\) 个不被 \(n\) 整除的整数,总能从中选出一些数,使得它们的和是 \(n\) 的倍数,但不是 \(n^2\) 的倍数。

答案是 \(m=2n-1\)\(m=2n-2\) 存在反例 \(1,1,...,1,n^2-1,n^2-1,...,n^2-1\)

类比 \(EGZ\) 定理证明,应当先从素数 \(p\) 的情况出发

我们知道任何 \(p-1\) 元集合 \(A\) (不含 \(p\) 的倍数)子集的元素和能够遍历模 \(p\) 的完系(包括了空集)。证明是,我们将一个个元素依次加入 \(A\) ,看是否能产生新的余数。假设原来的子集和构成了集合 \(S\) ,新元素是 \(x\) ,如果没有新的余数,就有 \(S+x=S\) (准确的写法是 \(S+\{x\}=S\) )。

如果这成立,对于 \(a\in S\) ,有 $a+x\in S,a+2x \in S,... $ ,由于 \(p\nmid x\) ,克制 \(a+kx\) 覆盖模 \(p\) 完系,即 \(S\) 覆盖完系,已经证毕。反之则可以继续归纳。

现在可以对素数 \(p\) 证明结论。将 \(2p-1\) 个数任意分成 \(X,Y,\{z\},|X|=|Y|=p-1\) ,考虑取 \(X\) 中一部分元素和为 \(x_{iz}\equiv iz\:(mod~p)\)\(Y\) 中一部分元素和为 \(y_{-iz}\equiv -iz\:(mod~p),i=1,2,...\) ,那么对于任意 \(i\) ,有 \(p\mid x_{iz}+y_{-(i+1)z}+z\) 以及 \(p\mid x_{iz}+y_{-iz}\)

我们说可以找到一个 \(i\) ,使得 \(p^2\mid x_{iz}+y_{-(i+1)z}+z\)\(p^2\mid x_{iz}+y_{-iz}\) 至少一个不成立。否则,将两个式子分别对全体 \(i\) 求和,然后相减,得到 \(p^2\mid pz\) 矛盾。

这样的论证对正整数 \(n\) 是成立的,如果我们能找到 \(X,Y\) 使得 \(X,Y\) 子集和遍历了模 \(n\) 完系。

下面这个引理来自俄罗斯的 \(TST\) :若 \(|A|=n-1\) 满足对任意 \(n\) 的正因子 \(d\)\(A\) 中至少 \(d-1\) 个数不为 \(d\) 的倍数,则 \(A\) 的子集和包含了模 \(n\) 完系。

我们要对 \(n\) 的素因子个数(相同的计多次)归纳证明。对素数显然成立。

想法是排列元素 \(x_1,x_2,...,x_{n-1}\) 使得 \(A_k=\{\sum\limits_{i=1}^k \epsilon_ix_i\:(mod~p)\mid \epsilon_i\in\{0,1\}\}\) 至少有 \(k+1\) 个元素(注意这里包括了 \(0\) ,因为可以不取任何数字)

假设我们到 \(x_{k+1}\) 时卡住了,说明 \(|A_k|=k+1\) ,并且对所有 \(d\in A\backslash\{x_1,x_2,...,x_k\}\) 都满足 \(A_k+d=A_k\) ,我们假设 \(d_0\) 是最小的满足 \(A_k+d_0=A_k\) 的数(不一定在 \(A\) 中)。

我们说 \(d_0\mid d\) 对所有 \(d\in A\backslash\{x_1,x_2,...,x_k\}\) 成立,否则考虑 \(A_k+at+bd_0=A_k\) ,取 \(ad+bd_0=(d,d_0)<d_0\) ,这与 \(d_0\) 的最小性矛盾。

此外 \(d_0\mid n\) ,否则有 \(A_k+ad_0+bn=A_k\)\(A_k+n=A_k\) 是显然的,本来 \(A_k\) 就是模 \(n\) 意义下的集合),取 \(ad_0+bn=(d_0,n)\) ,又与 \(d_0\) 的最小性矛盾。

现在结合题目条件,不被 \(d_0\) 整除的数至少 \(d_0-1\) 个全部在 \(\{x_1,x_2,...,x_k\}\) 中,设为 \(x_1,x_2,...,x_{d_0-1}\)\(k\ge d_0-1\) 。若 \(d_0=n\) ,我们已经完成了。

否则看 \(x_1,x_2,...,x_{d_0-1}\) ,它们均不为 \(d_0\) 的倍数,利用归纳假设,于是 \(\{x_1,x_2,...,x_{d_0-1}\}\) 子集和能够遍历模 \(d_0\) 的完系,所以 \(A_k\) 遍历了模 \(d_0\) 的完系,考虑 \(A_k+d_0=A_k\) ,说明 \(A_k\) 已经是模 \(n\) 的完系,即证。

回到原题对 \(n\) 归纳证明。

若对任何 \(d\mid n\)\(A\)\(d\) 的倍数不多于 \(n-d\) 个,则任取 \(n-1\) 元子集 \(X\)\(d\) 的倍数不超过 \(d-1\) 个,取出 \(X,Y\{z\}\) 论述即可。

否则,某个 \(d\mid n\) 的倍数至少 \(n-d\ge 2\frac nd-1\) 个,将这些数全部除以 \(d\) ,由归纳假设取出若干个和为 \(\frac nd\) 倍数不为 \(\frac {n^2}{d^2}\) 倍数,再乘以 \(d\) ,满足了题设。

标答并未使用俄罗斯 \(TST\) 的结果,而是在归纳中发现需要用 \(2\frac nd-1\) ,证明了一个更弱的结论(将 \(d-1\) 替换为 \(n-2\frac nd+1\) ,然后直接贪心寻找)

例2

设数列 \(a_n\) 满足 \(a_1\) 是整数, \(a_{n+1}=a_n^2-a_n-1\) ,证明:对任何正整数 \(n>2\)\(a_n\)\(2n-1\) 互素。

需要把题目翻译一下。如果 \(p\mid a_n\) ,则 \(a_{n+1},a_{n+2},...\equiv -1,1,-1,...\:(mod~p)\) ,所以说数列中 \(p\) 的倍数至多一项,只要证明在 \(a_{\frac {p-1}2}\) 之前即可。

关键的考虑是设 \(f(x)=x^2-x-1\) ,然后建立一个 \(x\rightarrow f(x)\:(mod~p)\) 的图。

图中的已有的构型是 \(0\rightarrow -1\leftrightarrow 1\leftarrow 2\) ,我们只要考虑剩余的 \(p-3\) 个元素到达 \(0\) 的路径长。(也就是说从 \(a_0\) 开始要几步到达 \(0\)

我们注意到图构成了二叉树,每个节点都有两个儿子,其中只有 \(-\frac 54\) 一个例外(如果存在),所以以 \(0\) 为根的二叉树深度至多为(设 \(0\) 的深度为 \(1\)\(2+\frac{p-5}2=\frac{p-1}2\) ,这就证毕。

这个说法更加直观,但是答案统计了长为 \(\frac{p+1}2\) 的路径上,除了一个节点每个节点的入度至少为 \(2\) ,导致产生超过 \(p\) 个的节点从而矛盾,这是更严谨的。

例3

\(S\) 是正整数集合,满足对任意互不相同的 \(x,y,z\in S\) ,由 \(x,y,z\) 中至少一个元素是 \(x+y+z\) 的因子,则称 \(S\) 是美妙的。证明:存在正整数 \(N\) ,使得对任意美妙的集合 \(S\) ,可取正整数 \(n_S>1\) ,使得 \(S\) 中不被 \(n_S\) 整除的元素至多 \(N\) 个,并求 \(N\) 的最小值。

\(N=6\) ,构造 \(1,2,3,7,109,x,y\) 其中

\(x\equiv 2\:(mod~3),x\equiv 3\:(mod~7),x\equiv 7\:(mod~109)\)

\(y\equiv 2\:(mod~3),y\equiv -3\:(mod~x),y\equiv 102\:(mod~109),y\equiv 4\:(mod~7)\)

\(S\) 有公因数,全部除掉。如果有一个 \(1\) ,去掉,最后把答案 \(+1\) 即可。

现在考虑 \(S\) 的最小奇数 \(x\) 与其余不为 \(x\) 倍数的奇数 \(x_1,x_2,...,x_m\),我们可以挑选其中 \(k\ge \lceil\frac m2\rceil\)\(x_1,x_2,...,x_k\) 使得 \(x\nmid x_i+x_j,i,j\in \overline{1,k}\) (考虑模 \(x\)\(-1\)\(1\) 的数,选较多的一类,然后考虑余 \(-2\)\(2\) 的数,一直做下去即可,最后选出来的数一定不少于一半)

由此也可以说明 \(S\) 中不是奇数 \(x\) 倍数的偶数至多两个,否则 \(2x\mid z_1,z_2,z_3\) ,可选择 \(x\nmid z_i+z_j\) ,但由奇偶性 \(z_i\nmid x+z_j\) ,与美妙性矛盾。

\(S\) 的美妙性,\(x_j\mid x+x_i,x_i\mid x+x_j\) 其一成立,但由于均为奇数,只能 \(x_i\mid \frac{x+x_j}2(i<j)\) ,由 \(j\) 的任意性,可知对任何 \(i\)\(x_{i+1}\equiv x_{i+2}\equiv ...\equiv x_k\:(mod~x_i)\)

如果 \(k\ge 3\) ,再由 \(S\) 的美妙性,要么 \(x_2\mid x_1+x_3\) ,但 \(x_2\mid x+x_3\) ,从而 \(x_2\mid |x-x_1|\) ,矛盾;要么 \(x_1\mid x_2+x_3\) ,又 \(x_2\equiv x_3\:(mod~x_1)\) ,只能 \(x_1\mid x_2,x_3\) (注意 \(x_1\) 是奇数),但是 \(x_1\mid x+x_2\) ,从而 \(x_1\mid x\) ,矛盾。

所以 \(k\le 2\) ,进而 \(m\le 4\) ,不被 \(x\) 整除的偶数又至多两个,有 \(N\le 7\) (考虑 \(1\)

下面说 \(N=7\) 不行。此时恰有两个偶数 \(A,B\) 并且满足 \(x\mid A+B,x\nmid A<B\)

取等时,对四个奇数 \(x_1,x_2,x_3,x_4\) ,有 \(x_1\equiv -x_2,x_3\equiv -x_4\:(mod~x)\) (否则我们的取数方法可以取出3个)

由于 \(x_i\) 均为奇数,可以知道 \(x_i\mid A+B\) ,然后 \(x,x_4\mid A+B\) 导致 \(A+B\ge 2px_4\) ,其中 \(p\)\(x\) 的一个质因子但不整除 \(x_4\) (因为 \(x\nmid x_4\) ) ,从而 \(B\ge 2x_4\) ,同理 \(B\ge 2x_i\) ,那么 \(B\nmid x_i+x_j或x+x_i\)

如果 \(x\mid B+x_3,B+x_4\) ,则 \(x_3\equiv x_4\:(mod~x)\) ,已有 \(x_3\equiv -x_4\:(mod~x)\) 导致 \(x\mid x_3\) ,与 \(x_i\) 的取法矛盾。对 \(x_1,x_2\) 同理。

当上述情况不成立,可以找到 \(x\nmid B+x_i,B+x_j\) ,其中 \(i\in \{1,2\},j\in \{3,4\}\) ,则 \(x_i,x_j\mid B+x\)\(x_i\mid B+x_j\)\(x_j\mid B+x_i\) 有一者成立(注意 \(B\ge x_i+x_j\) ),不妨为前者

相减看到 \(x_i\mid x_j-x\) ,与 \(x_i\mid x+x_j\) 导致 \(x_i\mid x\) 矛盾。

综上证明了 \(N=6\)

例4

\(S\)\(n\ge 3\) 个不同正整数的集合,满足其中任何一个元素不是另外某两个元素之和。证明可以将 \(S\) 中的元素排列为 \(a_1,a_2,...,a_n\) 使得任意 \(2\le i\le n-1\) 均能满足 \(a_i\nmid a_{i-1}+a_{i+1}\)

可以尝试一个一个放:我们假设 \(b_1,b_2,...,b_k\) 已经放好,如果 \(b_k\mid b_{k-1}+b_{k+1}\) ,我们就将 \(b_{k+1}\) 放在 \(b_1\) 左侧。让 \(b_1\) 最大,那么 \(b_1\neq b_{k+1}+b_2\) ,所以 \(b_1\nmid b_{k+1}+b_2\) ,就可以。

然后将 \(b_{k+2},b_{k+3},...,b_l\) 放在左侧,直到 \(b_{l+1}\) 不能再放。题目的关键是我们可以将 \(b_{l+1}\) 放在 \(b_k\) 右侧。

假设不能这样做,我们有 \(b_k\mid b_{k-1}+b_{k+1},b_k\mid b_{k-1}+b_{l+1}\) 从而 \(b_k\mid b_{l+1}-b_{k+1}\)

我们指定 \(b_1\) 最大,这里可以让 \(b_k>b_{l+1}\) ,把数从大到小依次放入就可以。

然后在右边继续放,当 \(b_s\) 不可以放时,放到左边。如果 \(b_l\mid b_s+b_{l-1}\) ,结合 \(b_l\mid b_{l-1}+b_{l+1}\)\(b_l\mid b_{l+1}-b_s\) 矛盾。

就可以一直放下去,说明是类似的。

归纳也是一个自然的想法。我们考虑新的 \(x\) ,不妨是最大的,如果不能放在 \(a_1\) 左侧,那么 \(a_1\mid x+a_2\) ,接下来不能放在 \(a_1\) 右侧,说明 \(a_2\mid x+a_3\) ,然后 \(a_2\mid x+a_1\) 或者 \(a_3\mid x+a_4\) ,如果是前者,我们有 \(a_2\mid a_1-a_3\) ,但这没用。

但是将结论加强到 \(a_i\nmid a_{i-1}\pm a_{i+1}\) ,就可行了,因为此时, \(a_2\mid x\pm a_3,a_2\mid x\pm a_1\) 能够给出 \(a_2\mid a_1\pm a_3\) 导致矛盾,只能是

\(a_1\mid x\pm a_2,a_2\mid x\pm a_3,a_3\mid x\pm a_4,...,a_{n-1}\mid x\pm a_n\)

但是 \(a_{n-1}\nmid a_{n-2}\pm a_n\) ,所以 \(a_{n-1}\nmid x\pm a_{n-2}\) ,所以 \(x\) 可以插入 \(a_{n-1},a_n\) 之间,与假设矛盾,这就证毕。

例5

\(S=\{n\in \mathbb{N}\mid n 的质因子都小于 15\}\) ,求证:对 \(S\) 中任意 \(1000\) 个数,总有 \(6\) 个的积是六次方数。

我们用素因子幂次 \((\alpha_1,\alpha_2,...,\alpha_6) \:(mod~6)\) 来表示一个数。共有 \(6^6\) 种可能。

要获得一个六次方数,我们可以任取5个,然后考虑最后一个。如果能证明任取 \(5\) 个的和覆盖了 \(6^6-995+1\) 种情况就好了,这几乎是全部情况,而且我们其实很难说 \(5\) 个的和会是什么样子,这个方法是不好做的。

这有些类似 \(EGZ\) 定理的地方,不过我们要处理的变量是六维的。然而尽管变量是六维的,我们希望得到 \(6\) 的倍数,可以先考虑 \(p=2,3\) 的情况。

这样想:先找到若干对数,使得它们的积为平方数;再从这些数对挑三个,使得它们的积为立方数。这样六个数符合题意。

我们能挑出多少数对?因为只有 \(2^6=64\) 种变量,而两个相同的必定为平方数,我们可以挑到只剩 \(64\) 个为止,可以得到 \(468\) 对。

但在模 \(3\) 意义下,有 \(3^6=729\) 种变量,找到 \(3\) 个相同的非常困难。不妨假设找不到 \(3\) 个相同的。

用最开始的想法,我们考虑两个的和有几种情况。固定第一个,然后剩下的有至少 \((468-2)/2=233\) 种,但是这 \(233\) 种对应的第三个不一定有,因为 \(468+233<729\)

考虑和的情况数确实不太好。如果我们有一个 \((0,0,0,0,0,0)\) ,就可以只考虑两个的和,这会比考虑三个的和轻松许多。

关键在这里,我们可以通过平移得到一个 \((0,0,0,0,0,0)\) (显然是可行的),剩下的至少 \(466\) 个里面一定有一对和为 \((0,0,0,0,0,0)\) (因为比 \(729\) 的一半多)

posted @ 2024-09-04 20:15  ATTLAS  阅读(20)  评论(0)    收藏  举报