Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 最大平方差和_Algorithm - Fatal编程技术网

Algorithm 最大平方差和

Algorithm 最大平方差和,algorithm,Algorithm,我有一个问题,2个集合A={a1,a2,…,an}和B={b1,b2,…,bn},我需要排列它们的元素,使它们的差平方和a1-b1^2+a2-b2^2+…+最大值为-bn^2 看起来很简单,贪婪的方法,我会排序A和反向排序B,还有更多吗?我错过了什么把戏 不,听起来很简单,这里有一些伪代码可以帮助您: l1: list ordered least to greatest l2: list ordered greatest to least sum = 0 for i in 0...l1.len

我有一个问题,2个集合A={a1,a2,…,an}和B={b1,b2,…,bn},我需要排列它们的元素,使它们的差平方和a1-b1^2+a2-b2^2+…+最大值为-bn^2


看起来很简单,贪婪的方法,我会排序A和反向排序B,还有更多吗?我错过了什么把戏

不,听起来很简单,这里有一些伪代码可以帮助您:

l1: list ordered least to greatest
l2: list ordered greatest to least

sum = 0
for i in 0...l1.length:
    sum += (l1[i] - l2[i])^2
return sum

运行时应以您使用的排序算法为界,因此可能Onlogn

可以使用重排不等式证明它成立: