注:
本文多有疏漏,敬请谅解。如有建议请在评论区留言,我会及时更正。谢谢。
本文希望提供较为严谨的排序不等式证明。有的地方作者能力不足或者说不清楚的,也许会不当地使用“显然”之类模糊不清的词,还请读者海涵。
排序不等式简介
排序不等式是数学上的一条不等式。它是说:如果 x1≤x2≤⋯≤xn ,和 y1≤y2≤⋯≤yn 是两组实数。而 xσ(1),…,xσ(n) 是 x1,…,xn 的一个排列。排序不等式指出 x1y1+⋯+xnyn≥xσ(1)y1+⋯+xσ(n)yn≥xny1+⋯+x1yn 。 以文字可以说成是顺序和不小于乱序和,乱序和不小于逆序和。与很多不等式不同,排序不等式不需限定 xi,yi 的符号。
排序不等式证明
一般来说排序不等式有两种证明方法:数学归纳法和阿贝尔变换。这里只介绍数学归纳法证明,对阿贝尔变换感兴趣的同学可以参看这篇文章。
首先我们定义顺序和,乱序和和逆序和如下:
我们用 xi 表示序列 X 的第 i 个元素,用 yi 表示序列 Y 的第 i 个元素。我们假设 |X|=|Y|=n 。保证 X 和 Y 满足如下条件:
∀i(1<i≤n)→(xi≥xi−1∧yi≥yi−1)
顺序和 \Alpha 定义如下:
A=n∑i=1xi×yi
乱序和 \Beta 定义如下:
我们定义序列 C 表示 Y 的一组全排列,即 C 中的每一个元素都在 Y 当中,且 Y 中的每一个元素都在 C 当中,且 |Y|=|C| 。
我们用 ci 表示 C 的第 i 个元素。
B=n∑i=1xi×ci
逆序和 Γ 定义如下:
Γ=n∑i=1xi×yn−i+1
我们首先证明 n=1 时 \Alpha≥\Beta≥Γ :
显然的是,Y 的全排列有且仅有一种,即 (y1) ,那么乱序和只能是 x1×y1 。我们也会发现,顺序和和逆序和同样都是 x1×y1 。于是 \Alpha≥\Beta≥Γ 成立。
接下来我们证明假设 n=k(k≥1) 时 \Alpha≥\Beta≥Γ ,那么 n=k+1 时 \Alpha≥\Beta≥Γ 。
当 ck+1=yk+1 时,假设存在一个排列 C 使得 \Beta>\Alpha ,那么我们可以推导出如下式子:
k∑i=1xi×ci>k∑i=1xi×yi
与假设矛盾,故 \Alpha≥\Beta。
同理,当 ck+1=y1 时,假设存在一个排列 C 使得 \Beta<Γ,那么我们可以推导出如下的式子:
k∑i=1xi×ci<k∑i=1xi×y(k+1)−i+1
与假设矛盾,故 \Beta≥Γ 。
当 ck+1≠yk+1 时,我们假设 ci=yk+1 。
我们先证明如下式子成立:
ai×ci+ak+1×ck+1≤ai×ck+1+ak+1×ci
证明如下:
(ak+1−ai)×(ci−ck+1)≥0
这个式子很容易得出来,因为 ak+1≥ai , ci=yk+1≥ck+1 。
展开后如下:
ak+1×ci−ak+1×ck+1−ai×ci+ai×ck+1≥0
移项之后得到:
ai×ci+ak+1×ck+1≤ai×ck+1+ak+1×ci
证明完毕。
于是我们可以得到,不论 C 怎样排列,只要 ck+1≠yk+1 ,都必然存在一种大于等于它的方案,也即 ck+1=yk+1 时的方案。
而当 ck+1=yk+1 时,最大的乘积之和就是 \Alpha 。
于是,我们证明了 \Alpha≥\Beta。
接下来我们证明当 ck+1≠y1 时,也有 \Beta≥Γ 。
我们首先假设 ci=y1 。
我们先证明如下式子成立:
ai×ci+ak+1×ck+1≥ai×ck+1+ak+1×ci
证明如下:
(ak+1−ai)×(ck+1−ci)≥0
这个式子很好证明,因为 ak+1≥ai ,ci=y1≤ck+1 。
展开后如下:
ak+1×ck+1+ai×ci−ai×ck+1−ak+1×ci≥0
移项后可以得到:
ai×ci+ak+1×ck+1≥ai×ck+1+ak+1×ci
证明完毕。
于是我们可以得到,不论 C 怎样排列,只要 ck+1≠y1,都必然存在一种小于等于它的方案,也即 ck+1=y1 时的方案。
而当 ck+1=y1 时,最小的乘积之和就是 Γ 。
于是,我们证明了 \Beta≥Γ 。
到此,我们证明了对于所有的 n∈N+ 都有 \Alpha≥\Beta≥Γ 。
证明完毕。