两正序列元素之和比值的上下界——小于等于其元素之比的最大值,大于等于元素之比的最小值

本文主要是介绍两正序列元素之和比值的上下界——小于等于其元素之比的最大值,大于等于元素之比的最小值,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

对于两个正数序列(集合) { a 1 , a 2 , . . . , a l } \{a_1,a_2,...,a_l\} {a1,a2,...,al} { b 1 , b 2 , . . . , b l } \{b_1,b_2,...,b_l\} {b1,b2,...,bl} ,满足
min ⁡ i a i b i ≤ ∑ i = 1 l a i ∑ i = 1 l b i ≤ max ⁡ i a i b i \min_{i}\frac{a_i}{b_i}\leq \frac{\sum_{i = 1}^{l} a_i}{\sum_{i = 1}^{l} b_i}\leq \max_{i}\frac{a_i}{b_i} iminbiaii=1lbii=1laiimaxbiai

反映的是序列元素之和比值的上下界限。

这种式子的证明,有点梦回高中数学(
这个不等式之前花老大劲用归纳法弯弯绕绕地证了出来,结果发现本来几行就能证好(

Proof:

以证明后半部分为例,设定 M = max ⁡ i a i b i . M=\max_{i}\frac{a_i}{b_i}. M=maxibiai. 这意味着对任意的 i ∈ [ l ] i\in [l] i[l], a i / b i ≤ M a_i/b_i\leq M ai/biM, 于是 a i ≤ M b i . a_i\leq Mb_i. aiMbi.也就是说
∑ i a i ≤ ∑ i M b i = M ∑ i b i , \sum_ia_i\leq\sum_iMb_i=M\sum_ib_i, iaiiMbi=Mibi,
于是
∑ i a i ∑ i b i ≤ M = max ⁡ i a i b i . \frac{\sum_ia_i}{\sum_ib_i}\leq M=\max_i\frac{a_i}{b_i}. ibiiaiM=imaxbiai.

原证明源网络

这篇关于两正序列元素之和比值的上下界——小于等于其元素之比的最大值,大于等于元素之比的最小值的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/979135

相关文章

使用C++实现链表元素的反转

《使用C++实现链表元素的反转》反转链表是链表操作中一个经典的问题,也是面试中常见的考题,本文将从思路到实现一步步地讲解如何实现链表的反转,帮助初学者理解这一操作,我们将使用C++代码演示具体实现,同... 目录问题定义思路分析代码实现带头节点的链表代码讲解其他实现方式时间和空间复杂度分析总结问题定义给定

最长公共子序列问题的深度分析与Java实现方式

《最长公共子序列问题的深度分析与Java实现方式》本文详细介绍了最长公共子序列(LCS)问题,包括其概念、暴力解法、动态规划解法,并提供了Java代码实现,暴力解法虽然简单,但在大数据处理中效率较低,... 目录最长公共子序列问题概述问题理解与示例分析暴力解法思路与示例代码动态规划解法DP 表的构建与意义动

关于最长递增子序列问题概述

《关于最长递增子序列问题概述》本文详细介绍了最长递增子序列问题的定义及两种优化解法:贪心+二分查找和动态规划+状态压缩,贪心+二分查找时间复杂度为O(nlogn),通过维护一个有序的“尾巴”数组来高效... 一、最长递增子序列问题概述1. 问题定义给定一个整数序列,例如 nums = [10, 9, 2

CSS3中使用flex和grid实现等高元素布局的示例代码

《CSS3中使用flex和grid实现等高元素布局的示例代码》:本文主要介绍了使用CSS3中的Flexbox和Grid布局实现等高元素布局的方法,通过简单的两列实现、每行放置3列以及全部代码的展示,展示了这两种布局方式的实现细节和效果,详细内容请阅读本文,希望能对你有所帮助... 过往的实现方法是使用浮动加

在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码

《在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码》在MyBatis的XML映射文件中,trim元素用于动态添加SQL语句的一部分,处理前缀、后缀及多余的逗号或连接符,示... 在MyBATis的XML映射文件中,<trim>元素用于动态地添加SQL语句的一部分,例如SET或W

uva 10131 最长子序列

题意: 给大象的体重和智商,求体重按从大到小,智商从高到低的最长子序列,并输出路径。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#include <vect

poj 3258 二分最小值最大

题意: 有一些石头排成一条线,第一个和最后一个不能去掉。 其余的共可以去掉m块,要使去掉后石头间距的最小值最大。 解析: 二分石头,最小值最大。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <c

POJ1631最长单调递增子序列

最长单调递增子序列 import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.io.PrintWriter;import java.math.BigInteger;import java.util.StringTokenizer;publ

leetcode105 从前序与中序遍历序列构造二叉树

根据一棵树的前序遍历与中序遍历构造二叉树。 注意: 你可以假设树中没有重复的元素。 例如,给出 前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7] 返回如下的二叉树: 3/ \9 20/ \15 7   class Solution {public TreeNode buildTree(int[] pr

遮罩,在指定元素上进行遮罩

废话不多说,直接上代码: ps:依赖 jquer.js 1.首先,定义一个 Overlay.js  代码如下: /*遮罩 Overlay js 对象*/function Overlay(options){//{targetId:'',viewHtml:'',viewWidth:'',viewHeight:''}try{this.state=false;//遮罩状态 true 激活,f