from:http://blog.csdn.net/flyinghearts/article/details/5605992
对一个已经是最优解的排列,记第 i 个文件的长度为 Li ,被访问概率为 Pi 。如果交换第 i 个和第 i+1 个文件,则平均长度一定不会变小,交换后,访问原第 i 个文件时,要多访问一个原第 i+1文件,长度增加了 Pi *Li+1 ,而访问原第 i+1 个文件时,要少访问一个原第 i 个文件,长度减少了Pi+1 *Li ,而访问这两个文件之前和之后的文件,长度没有改变,故有: Pi *Li+1 - Pi+1 *Li >=0 即Pi /Li >= Pi+1 /Li+1 ,由于 i 可以任意取,因而 P0 /L0 >= P1 /L1 >= P2 /L2 >= … >=Pn-1 Ln-1 。也就是说,最优解一定满足 P[i]/L[i] 降序排列,而根据 P[i]/L[i] 值通过降序排列只能得到唯一确定的排列(只考虑 P[i]/L[i] 值大小,如果两个文件的 P[i]/L[i] 值相同,它们位置可以互换而不影响),这个排列必然是最优解。因而,原问题等同于“将 P[i]/L[i] 降序排列 ”。
类似题:“将一个给定的自然数数组,连接起来得到一个数,求这个数的最大值或最小值”。