math_排序不等式的推导
文章目录
- 排序不等式
- 等式的另一半
- 总结
排序不等式
设有两个有序数列(可以理解为单调不减的(离散)函数),即
{ a n } 和 { b n } , 分别满足 : a i < a i + 1 b i < b i + 1 i = 1 , 2 , 3 , ⋯ , n − 1 \{a_n\}和\{b_n\},分别满足: \\a_{i}<a_{i+1}\\ b_{i}<b_{i+1} \\i=1,2,3,\cdots,n-1 {an}和{bn},分别满足:ai<ai+1bi<bi+1i=1,2,3,⋯,n−1证明结论
∑ i = 1 n a i b i ≥ ∑ i = 1 n a i R ( { b n } ) i 其中 , R ( { b n } ) 表示对数列 { b n } 的一个乱序 ( 任意 ) 排列 ( 洗牌 R a n d o m i z e / s h u f f l e ) 而带有下标 i 的表达式 R { b n } i 表示 b n 的一个任意乱序序列 c n 的第 i 个元素 这里的写法有点程序设计中函数调用的味道 ( 设定函数 R 返回一个打乱顺序的序列 { c n } ) 因此 , 为了书写方便 , 我们有一下等价写法 : ∑ i = 1 n a i b i ≥ ∑ i = 1 n a i c i \sum_{i=1}^n{a_{i}b_{i}}\ge\sum_{i=1}^{n}{a_iR(\{b_n\})_i} \\其中,R(\{b_n\})表示对数列\{b_n\}的一个乱序(任意)排列(洗牌Randomize/shuffle) \\而带有下标i的表达式R\{b_n\}_i表示{b_n}的一个任意乱序序列{c_n}的第i个元素 \\这里的写法有点程序设计中函数调用的味道 \\(设定函数R返回一个打乱顺序的序列\{c_n\}) \\因此,为了书写方便,我们有一下等价写法: \\ \sum_{i=1}^n{a_{i}b_{i}}\ge\sum_{i=1}^{n}{a_i}{c_i} i=1∑naibi≥i=1∑naiR({bn})i其中,R({bn})表示对数列{bn}的一个乱序(任意)排列(洗牌Randomize/shuffle)而带有下标i的表达式R{bn}i表示bn的一个任意乱序序列cn的第i个元素这里的写法有点程序设计中函数调用的味道(设定函数R返回一个打乱顺序的序列{cn})因此,为了书写方便,我们有一下等价写法:i=1∑naibi≥i=1∑naici
记数列 { b n } 的前 i 项和为 s i = ∑ k = 1 k = i b k 记数列 { c n } 的前 i 项和为 s r i = ∑ k = 1 k = i c k b i = s i − s i − 1 ( 重要 ) ; i ∈ N + , i = 1 , 2 , 3 , ⋯ , n s i ≤ s r i 该不等式表达式的是 , 数列 { b n } 的任意 i 项和 , 最小值是 s i 这很好理解 , 毕竟 s i 的值是有数列中最小的 i 个元素的和 s r i 不会比 s i 小 s n = s r n 也很好理解 , 打乱顺序的一组数的综合始终一致 ( 此时的部分和都是总体和 ) 记数列\{b_n\}的前i项和为s_i=\sum_{k=1}^{k=i}{b_k} \\ 记数列\{c_n\}的前i项和为sr_i=\sum_{k=1}^{k=i}{c_k} \\ \begin{aligned} &b_i=s_i-s_{i-1}(重要);\quad i\in N^+,i=1,2,3,\cdots,n\\ &s_i\le sr_{i}\quad 该不等式表达式的是,数列\{b_n\}的任意i项和,最小值是s_i\\ &这很好理解,毕竟s_i的值是有数列中最小的i个元素的和sr_i不会比s_i小\\ &s_n=sr_n\quad 也很好理解,打乱顺序的一组数的综合始终一致(此时的部分和都是总体和) \end{aligned} \\ 记数列{bn}的前i项和为si=k=1∑k=ibk记数列{cn}的前i项和为sri=k=1∑k=ickbi=si−si−1(重要);i∈N+,i=1,2,3,⋯,nsi≤sri该不等式表达式的是,数列{bn}的任意i项和,最小值是si这很好理解,毕竟si的值是有数列中最小的i个元素的和sri不会比si小sn=srn也很好理解,打乱顺序的一组数的综合始终一致(此时的部分和都是总体和)
并且 : ★ s 0 = 0 s 1 = b 1 例如 : b 1 = s 1 − s 0 = s 1 b 2 = s 2 − s 1 b 3 = s 3 − s 2 此外 , 由于 { a n } 数列是单调不减的 , 容易知道 a i − a i − 1 ≤ 0 从而有 : 并且:\bigstar \begin{aligned} &s_0=0\\ &s_1=b1 \end{aligned} \\例如:b_1=s_1-s_0=s_1 \\b_2=s_2-s_1 \\b_3=s_3-s_2 \\此外,由于\{a_n\}数列是单调不减的,容易知道a_i-a_{i-1}\le0 \\从而有: 并且:★s0=0s1=b1例如:b1=s1−s0=s1b2=s2−s1b3=s3−s2此外,由于{an}数列是单调不减的,容易知道ai−ai−1≤0从而有:
s i ( a i − a i − 1 ) ≥ s r i ( a i − a i − 1 ) (core) s_i(a_i-a_{i-1})\ge sr_i(a_i-a_{i-1}) \tag{core} si(ai−ai−1)≥sri(ai−ai−1)(core)
一方面
∑ i = 1 n a i b i = ∑ i = 1 n a i ( s i − s i − 1 ) 用求和号可以简洁的表达加式 , 但是有时候不利于看出规律 我们将 i = 1 , 2 , 3 , ⋯ , n 分别带入到等式右侧 , 观察规律 a 1 b 1 = a 1 ( s 1 − s 0 ) = a 1 s 1 − a 1 s 0 a 2 b 2 = a 2 ( s 2 − s 1 ) = a 2 s 2 − a 2 s 1 a 3 b 3 = a 3 ( s 3 − s 2 ) = a 3 s 3 − a 3 s 2 ⋮ ⋮ ⋮ a n − 1 b n − 1 = a n − 1 ( s n − 1 − s n − 2 ) = a n − 1 s n − 1 − a n − 1 s n − 2 a n b n = a n ( s n − s n − 1 ) = a n s n − a n s n − 1 \\ \sum_{i=1}^{n}{a_ib_i}=\sum_{i=1}^{n}{a_i(s_i-s_{i-1})} \\用求和号可以简洁的表达加式,但是有时候不利于看出规律 \\我们将i=1,2,3,\cdots,n分别带入到等式右侧,观察规律 \\ \begin{aligned} a_1b_1 &=a_1(s_1-s_0) &=a_1s_1-a_1s_0\\ a_2b_2 &=a_2(s_2-s_1) &=a_2s_2-a_2s_1\\ a_3b_3 &=a_3(s_3-s_2) &=a_3s_3-a_3s_2\\ \vdots &\quad \vdots &\vdots\\ a_{n-1}b_{n-1} &=a_{n-1}(s_{n-1}-s_{n-2}) &= a_{n-1}s_{n-1}-a_{n-1}s_{n-2}\\ a_{n}b_{n} &=a_{n}(s_{n}-s_{n-1}) &= a_{n}s_{n}-a_{n}s_{n-1}\\ \end{aligned} i=1∑naibi=i=1∑nai(si−si−1)用求和号可以简洁的表达加式,但是有时候不利于看出规律我们将i=1,2,3,⋯,n分别带入到等式右侧,观察规律a1b1a2b2a3b3⋮an−1bn−1anbn=a1(s1−s0)=a2(s2−s1)=a3(s3−s2)⋮=an−1(sn−1−sn−2)=an(sn−sn−1)=a1s1−a1s0=a2s2−a2s1=a3s3−a3s2⋮=an−1sn−1−an−1sn−2=ansn−ansn−1
将上述等式相加 , 即得到 ∑ i = 1 n a i b i = s 1 ( a 1 − a 2 ) + s 2 ( a 2 − a 3 ) + s 3 ( a 3 − a 4 ) + ⋯ + s n − 1 ( a n − 1 − a n ) + a n s n = ( ∑ i = 1 n − 1 s i ( a i − a i + 1 ) ) + a n s n \\将上述等式相加,即得到 \\ \sum_{i=1}^{n}{a_ib_i} ={s_1(a_1-a_2)+s_2(a_2-a_3)+s_3(a_3-a_4)}+\cdots \\+s_{n-1}{(a_{n-1}-a_{n})}+a_ns_n \\ =\left(\sum_{i=1}^{n-1}{s_i(a_i-a_{i+1})}\right)+a_ns_n 将上述等式相加,即得到i=1∑naibi=s1(a1−a2)+s2(a2−a3)+s3(a3−a4)+⋯+sn−1(an−1−an)+ansn=(i=1∑n−1si(ai−ai+1))+ansn另一方面,类似上述的推导,有
乱序积和
- ∑ i = 1 n a i c i = ( ∑ i = 1 n − 1 s r i ( a i − a i + 1 ) ) + a n s r n \sum_{i=1}^{n}a_ic_i=\left(\sum_{i=1}^{n-1}{sr_i(a_i-a_{i+1})}\right)+a_nsr_n i=1∑naici=(i=1∑n−1sri(ai−ai+1))+ansrn
所以有结论
∵ s i ( a i − a i − 1 ) ≥ s r i ( a i − a i − 1 ) s n = s r n ∴ ( ∑ i = 1 n − 1 s i ( a i − a i + 1 ) ) + a n s n ≥ ( ∑ i = 1 n − 1 s r i ( a i − a i + 1 ) ) + a n s r n ∴ ∑ i = 1 n a i b i ≥ ∑ i = 1 n a i c i (core) \because s_i(a_i-a_{i-1})\ge sr_i(a_i-a_{i-1}) \tag{core} \\s_n=sr_n \\ \therefore \left(\sum_{i=1}^{n-1}{s_i(a_i-a_{i+1})}\right)+a_ns_n\ge \left(\sum_{i=1}^{n-1}{sr_i(a_i-a_{i+1})}\right)+a_nsr_n \\ \therefore \sum_{i=1}^{n}{a_ib_i} \ge \sum_{i=1}^{n}a_ic_i ∵si(ai−ai−1)≥sri(ai−ai−1)sn=srn∴(i=1∑n−1si(ai−ai+1))+ansn≥(i=1∑n−1sri(ai−ai+1))+ansrn∴i=1∑naibi≥i=1∑naici(core)
等式的另一半
类似的原理,可以推导出
逆序积和
是小于乱序积和
的∑ i = 1 n a i b i ≥ ∑ i = 1 n a i c i ≥ ∑ i = 1 n a i b n − i + 1 \sum_{i=1}^{n}{a_ib_i} \ge \sum_{i=1}^{n}a_ic_i \ge \sum_{i=1}^{n}{a_ib_{n-i+1}} i=1∑naibi≥i=1∑naici≥i=1∑naibn−i+1
总结
math_排序不等式的推导相关推荐
- ACM - 贪心 - 基础(区间问题 + Huffman树 + 排序不等式 + 绝对值不等式 + 推公式)
贪心 经典母题 1.区间问题 AcWing 905. 区间选点 AcWing 908. 最大不相交区间数量 AcWing 906. 区间分组 AcWing 907. 区间覆盖 2.Huffman树 A ...
- 排序不等式 GCJ 2008 Round1A Problem A. Minimum Scalar Product
排序不等式(Rearrangement Inequality)又称排序原理,是数学上的一种不等式.它可以推导出很多有名的不等式,例如:算术几何平均不等式.柯西不等式.切比雪夫总和不等式. 简洁的来说就 ...
- 倒序排序_排序不等式,切比雪夫不等式及伯努利不等式
我们比较熟悉的不等式可能就是下面的这个不等式链以及柯西不等式了: 对于不等式链的证明我们可以看下面这张图,非常直观形象: 不太懂得也可以看这个视频讲解: 知乎视频www.zhihu.com 对于柯西 ...
- 第六章贪心(三):排序不等式、绝对值不等式
第六章贪心(三):排序不等式.绝对值不等式.推公式 AcWing 913:排队打水 题目 有 n 个人排队到 1 个水龙头处打水,第 i 个人装满水桶所需的时间是 ti,请问如何安排他们的打水顺序才能 ...
- 【算法基础26】贪心下——哈夫曼树、排序不等式、绝对值不等式、推公式的思路与应用
一.合并果子(哈夫曼树) 题目描述:给出n堆不同种类的果子,每堆果子的数量不同,每个果子的重量为1.每次只能合并相邻堆的果子,且花费的体力是果子的重量和.将所有果子合并成一堆,求最小的体力花费. 问题 ...
- 差分+排序不等式+贪心
:加油加油,没几天就要比赛了 1.差分 差分的思想:给定a[1],a[2]-a[N],构造差分数组,使得a[i]=b[1]+b[2]+-b[i] 总的来说,a[i]就是b[1~i]的前缀和数组,那么构 ...
- 第四十一章 贪心算法——排序不等式
第四十一章 贪心算法--排序不等式 一.题目信息 二.排序不等式 1.算法内容 2.算法证明 3.思路分析 三.代码实现 一.题目信息 二.排序不等式 1.算法内容 2.算法证明 3.思路分析 这道题 ...
- 重新排序(排序不等式+差分)蓝桥
重新排序 1.排序不等式 简单来说就是大的乘以大的,小的乘以小的,按顺序就可以排除最大的和 2.差分 由于题目涉及区间范围同时加上一个数,所以利用差分数组可以将复杂度降为O(n) 差分数组讲解 3.解 ...
- 重新排序(差分,贪心,排序不等式)
解题思路 Part 1:贪心 我们可以累计每个 AiAi 的被求和次数 cici.容易贪心得到,被求和次数越多的肯定得放越大的数(可用邻项交换证明)(排序不等式). 我们可以先统计原来的求和的总和 s ...
最新文章
- pandas使用dropna函数删除dataframe中全是缺失值的数据列(drop columns with all missing values in dataframe)
- 想转行做web前端工程师,必学这6大技能!你都知道吗?
- Autoware(2)—加载地图数据
- 一维前缀和(附模板题)
- 用c语言计算星期,计算任何一天是星期几的C语言源代码.
- 2021 考研线代知识点整理
- java的dequeue_$.queue() 与 $.dequeue() -- 队列
- sps的process插件安装包_Process插件安装及其简单中介分析
- 清华姚班和100个“张小龙” | 中国AI天才养成计划
- R语言和Python的区别
- 强化学习从K-摇臂老虎机开始
- winxp怎么打开无线网络服务器,WinXP无线网络设置的方法
- WEB服务器有哪几种
- Oracle安装时先决条件检测失败
- Notepad++ 7.6版本 安装hexeditor最新详细版本(小白版)
- D-脱硫生物素dethiobiotinCAS号:533-48-2
- bind9 dlz mysql_bind9+dlz+mysql连接断开问题
- 马云谈大数据:数据时代的“五个新” 做好准备
- Flowerpot(单调队列)
- 5G新空口关键技术之--信道编码