from:
對乙個已經是最優解的排列,記第 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]
降序排列 」。
類似題:「將乙個給定的自然數陣列,連線起來得到乙個數,求這個數的最大值或最小值」。
程式設計之美讀書筆記 4 5 磁帶檔案存放優化
4.5 磁帶檔案存放優化 對乙個已經是最優解的排列,記第 i個檔案的長度為 bi,被訪問概率為 ai。如果交換第 i個和第 i 1個檔案,則平均長度一定不會變小,交換後,訪問原第 i個檔案時,要多訪問乙個原第 i 1檔案,長度增加了 ai bi 1 而訪問原第 i 1個檔案時,要少訪問乙個原第 i個...
《程式設計之美》讀書筆記
程式設計之美 讀書筆記 一 中國象棋將帥問題 程式設計之美 讀書筆記 二 求二進位制數中1的個數 擴充套件問題 程式設計之美 讀書筆記 三 一摞烙餅的排序問題 程式設計之美 讀書筆記 四 買書折扣問題的貪心解法 程式設計之美 讀書筆記 五 飲料 問題 程式設計之美 讀書筆記 六 連連看遊戲設計 程式...
《程式設計之美》讀書筆記集錦
程式設計之美 讀書筆記 一 中國象棋將帥問題 程式設計之美 讀書筆記 二 求二進位制數中1的個數 擴充套件問題 程式設計之美 讀書筆記 三 一摞烙餅的排序問題 程式設計之美 讀書筆記 四 買書折扣問題的貪心解法 程式設計之美 讀書筆記 五 飲料 問題 程式設計之美 讀書筆記 六 連連看遊戲設計 程式...