- 数学杂谈:三联角问题
- 1. 题目描述
- 2. 解法
- 1. 解题思路
- 2. 具体解答
- 1. n为奇数
- 2. n为偶数
- 3. 结论
- 3. 参考链接
1. 题目描述
首先,我们先给出这道题目的具体描述如下:
如果甲胜乙,乙胜丙,丙胜甲,则称甲乙丙为一个友好组。问如果有20支球队进行单循环赛,其中友好组的个数最大值为多少?
这道题是我在B站上面看到的一个23年的金华十校联考的考题,本来只是感觉这道题目有点意思,就想玩一下,结果想了好一阵子都没有搞定,然后偶然间看到一个视频下面的一个评论:
20年前的国赛题→15年前的联赛二试题→8年前的一试填空题→现在的高考填空题
瞬间我人都傻了……
然后我去看了一下视频的具体内容,发现真就是02年的日本IMO竞赛的题目,原题目为:
(2002年日本数学奥林匹克试题) 有14人进行一种日本棋循环赛,每个人都与另外13人比赛一局,在比赛中无平局。如果三个人之间的比赛结果都是一胜一负,则称这三人是一个“三联角”,求三联角个数的最大值。
进一步地,这道题目还可以扩展为:
有 n n n人进行一种循环赛,每个人都与另外 n − 1 n-1 n−1个人比赛一局,在比赛中无平局。如果三个人之间的比赛结果都是一胜一负,则称这三人是一个“三联角”,求三联角个数的最大值。
坦率地说,这道题本身大概率是不可能在生活和工作中真正有什么用了,不过看了一下这道题的解答,思路上倒是非常有意思,就还是在这里整理一下好了,就当扩展一下思维了LOL
2. 解法
1. 解题思路
这一题我最开始拿到题目的思路是当成数组题目来做,显然3人的情况 a 3 = 1 a_3=1 a3=1,然后试图给出一个 a n a_n an的递推表达式。
不过不幸的是,这个思路我是失败了,很难给出一个统一的递推关系表达式。
看了答案之后发现,这道题的核心思路是反着来的,也就是说:
- 要求三联角的最大个数,也就等同于求无法构成三联角的三元组的最小个数。
- 对于无法组成三联角的三元组,必有某一个元素同时大于剩余两个元素,因此,我们可以给出所有的无法构成三联角的三元组的数目的表达式。
综上,我们就可以通过不等式给出无法组成三联角的三元组的最小值了,进而,我们也就得到了三联角的最大个数。
当然,这个值是理论的最大值,为了严格求证,事实上我们还需要给出一组构造,确保给出的理论值可以取到。
下面,我们就来考察其具体的解答。
2. 具体解答
下面,我们来看一下这一道题的具体解答。
首先,我们给出循坏赛赛制下所有的三元组的个数:
S = C n 3 = n ( n − 1 ) ( n − 2 ) 3 ! S = C_{n}^{3} = \frac{n(n-1)(n-2)}{3!} S=Cn3=3!n(n−1)(n−2)
我们不妨假设 n n n个人的胜场次数是从大到小排列的,且第 i i i个人的胜场数为 x i x_i xi,则显然有:
∑ i = 1 n x i = C n 2 = n ( n − 1 ) 2 \sum_{i=1}^{n} x_i = C_n^2 =\frac{n(n-1)}{2} i=1∑nxi=Cn2=2n(n−1)
此时,无法构成三联角的三元组的个数可以表示为:
T = ∑ i = 1 n C x i 2 = ∑ i = 1 n x i ( x i − 1 ) 2 = 1 2 ( ∑ i = 1 n x i 2 − ∑ i = 1 n x i ) = 1 2 ( ∑ i = 1 n x i 2 − n ( n − 1 ) 2 ) T = \sum_{i=1}^{n} C_{x_i}^2 = \sum_{i=1}^{n} \frac{x_i(x_i-1)}{2} = \frac{1}{2}(\sum_{i=1}^{n}x_i^2 - \sum_{i=1}^{n}x_i) = \frac{1}{2}(\sum_{i=1}^{n}x_i^2 - \frac{n(n-1)}{2}) T=i=1∑nCxi2=i=1∑n2xi(xi−1)=21(i=1∑nxi2−i=1∑nxi)=21(i=1∑nxi2−2n(n−1))
因此,剩下的问题就只是说我们要求一下 T T T的最小值即可,亦即,我们只需要求 ∑ i = 1 n x i 2 \sum\limits_{i=1}^{n}x_i^2 i=1∑nxi2的最小值即可。
此时,我们考察柯西不等式:
∑ i = 1 n x i 2 ≥ 1 n ( ∑ i = 1 n x i ) 2 = 1 n n 2 ( n − 1 ) 2 4 = n ( n − 1 ) 2 4 \sum_{i=1}^{n}x_i^2 \geq \frac{1}{n}(\sum_{i=1}^{n}x_i)^2 = \frac{1}{n}\frac{n^2(n-1)^2}{4}=\frac{n(n-1)^2}{4} i=1∑nxi2≥n1(i=1∑nxi)2=n14n2(n−1)2=4n(n−1)2
等号当且仅当 x 1 = ⋯ = x n x_1 = \cdots = x_n x1=⋯=xn时取到。
此时由:
∑ i = 1 n x i = n ( n − 1 ) 2 \sum\limits_{i=1}^{n} x_i = \frac{n(n-1)}{2} i=1∑nxi=2n(n−1)
我们可以快速得到 x 1 = ⋯ = x n = n − 1 2 x_1 = \cdots = x_n=\frac{n-1}{2} x1=⋯=xn=2n−1。
因此,当 n n n为奇数时,上式可以直接取到,但是当 n n n为偶数的情况下,上式无法直接取等号,因此,我们需要对 n n n分奇偶进行一下讨论。
1. n为奇数
对于 n n n为奇数的情况,由上述分析我们就能够得到,当 x 1 = ⋯ = x n = n − 1 2 x_1 = \cdots = x_n=\frac{n-1}{2} x1=⋯=xn=2n−1时 T T T就能够取到最小值。
因此,我们可以快速计算得到:
T ≥ 1 2 ( n ( n − 1 ) 2 4 − n ( n − 1 ) 2 ) = 1 8 n ( n − 1 ) ( n − 3 ) \begin{aligned} T &\geq \frac{1}{2}(\frac{n(n-1)^2}{4} - \frac{n(n-1)}{2}) \\ &=\frac{1}{8}n(n-1)(n-3) \end{aligned} T≥21(4n(n−1)2−2n(n−1))=81n(n−1)(n−3)
因此,有三联角个数满足:
N = S − T ≤ n ( n − 1 ) ( n − 2 ) 6 − n ( n − 1 ) ( n − 3 ) 8 = n ( n − 1 ) ( n + 1 ) 24 N = S-T \leq \frac{n(n-1)(n-2)}{6} - \frac{n(n-1)(n-3)}{8} = \frac{n(n-1)(n+1)}{24} N=S−T≤6n(n−1)(n−2)−8n(n−1)(n−3)=24n(n−1)(n+1)
最后,我们给出一个可行的构造,来证明等式可以取到即可。
这个构造其实也简单,我们只需要令这 n n n个人站成一个圈,然后令第 i i i个人都战胜其后续紧邻的 n − 1 2 \frac{n-1}{2} 2n−1个人即可。
2. n为偶数
接下来,我们来看一下 n n n为偶数的情况,此时,柯西不等式的等号无法取到,因为显然 n − 1 2 \frac{n-1}{2} 2n−1并不是一个整数,而胜场次数必须是整数。
因此,我们不妨退而求其次,令所有人的胜场次数都尽可能靠近,不难用调整法证明,此时可以获得取得最小值。
不妨设某两个 x i − x j ≥ 2 x_i - x_j \geq 2 xi−xj≥2,我们将其进行调整,使得其变成 x i ′ , x j ′ x_i',x_j' xi′,xj′,满足:
{ x i ′ + x j ′ = x i + x j x i ′ − x j ′ ≤ 1 \left\{ \begin{aligned} x_i' + x_j' &= x_i + x_j \\ x_i' - x_j' &\leq 1 \end{aligned} \right. {xi′+xj′xi′−xj′=xi+xj≤1
不妨令 x i + x j = x i ′ + x j ′ = s x_i+x_j=x_i'+x_j'=s xi+xj=xi′+xj′=s,则显然有 s ≥ x i > x i ′ ≥ s 2 ≥ x j ′ > x j ≥ 0 s \geq x_i>x_i'\geq \frac{s}{2} \geq x_j' > x_j \geq 0 s≥xi>xi′≥2s≥xj′>xj≥0。
此时有:
( x i 2 + x j 2 ) − ( x i ′ 2 + x j ′ 2 ) = 2 ( x i ′ x j ′ − x i x j ) = 2 ( x i ′ − x i ) ( s − x i − x i ′ ) > 0 (x_i^2 + x_j^2) - (x_i'^2 + x_j'^2) = 2(x_i'x_j'-x_ix_j) = 2(x_i'-x_i)(s-x_i-x_i') > 0 (xi2+xj2)−(xi′2+xj′2)=2(xi′xj′−xixj)=2(xi′−xi)(s−xi−xi′)>0
因此,通过调整 x i , x j x_i,x_j xi,xj尽可能接近,我们能够使得 T T T取到最小值。
此时,不难求得,当有 n / 2 n/2 n/2个人获得 n / 2 n/2 n/2胜场,其余 n / 2 n/2 n/2个人获得 n / 2 − 1 n/2-1 n/2−1个胜场时 T T T取到最小值:
T ≥ 1 2 ( n 2 ⋅ n 2 4 + n 2 ⋅ ( n − 2 ) 2 4 − n ( n − 1 ) 2 ) = n ( n − 2 ) 2 8 T \geq \frac{1}{2}(\frac{n}{2}\cdot\frac{n^2}{4} + \frac{n}{2}\cdot \frac{(n-2)^2}{4} - \frac{n(n-1)}{2}) = \frac{n(n-2)^2}{8} T≥21(2n⋅4n2+2n⋅4(n−2)2−2n(n−1))=8n(n−2)2
进而,我们可以求得:
N = S − T ≤ n ( n − 1 ) ( n − 2 ) 6 − n ( n − 2 ) 2 8 = n ( n − 2 ) ( n + 2 ) 24 N = S-T \leq \frac{n(n-1)(n-2)}{6} - \frac{n(n-2)^2}{8} = \frac{n(n-2)(n+2)}{24} N=S−T≤6n(n−1)(n−2)−8n(n−2)2=24n(n−2)(n+2)
同样的,我们需要给出一组构造来证明上述等号是可以取到的。
而这个构造同样也并不复杂,我们只需要令前 n / 2 n/2 n/2个人都赢下来紧邻的后续 n / 2 n/2 n/2个人,而后一半的 n / 2 n/2 n/2个人都赢下紧邻的后续 n / 2 − 1 n/2-1 n/2−1个人即可。
3. 结论
综上,我们就可以得到上述问题的通解:
-
当 n n n为奇数的情况
N = n ( n − 1 ) ( n + 1 ) 24 N = \frac{n(n-1)(n+1)}{24} N=24n(n−1)(n+1)
-
当 n n n为偶数的情况
N = n ( n − 2 ) ( n + 2 ) 24 N = \frac{n(n-2)(n+2)}{24} N=24n(n−2)(n+2)
而回到我们原始的题目当中:
-
金华模拟题
n = 20 n=20 n=20,因此答案为 18 × 20 × 22 24 = 330 \frac{18 \times 20 \times 22}{24} = 330 2418×20×22=330。
-
日本IMO竞赛题
n = 14 n=14 n=14,因此答案为 12 × 14 × 16 24 = 168 \frac{12 \times 14 \times 16}{24} = 168 2412×14×16=168。
3. 参考链接
- https://www.bilibili.com/video/BV1ZN411w79u