多元Huffman編碼問題(優先佇列解法)

2021-10-05 11:43:48 字數 557 閱讀 2697

問題描述:在乙個操場的四周擺放著n堆石子,現要將石子有次序地合併成一堆。規定每次至少選2堆至多選k堆石子合併成新的一堆,合併的費用為新的一堆石子數。計算出將n堆石子合併成一堆的最大總費用和最小總費用。

演算法設計:對於給定的n堆石子,計算合併成一堆的最大總費用和最小總費用。

資料輸入:檔案的第1行有2個正整數n和k,表示有n堆石子,每次至少選2堆至多選k堆石子合併。第2行有n個數,分別表示每堆石子的個數。

輸入示例:

7 345 13 12 16 9 5 22

輸出示例:

593 199

**:

#include#include#includeusing namespace std;

int n,k;

int main()

cout<}

return 0;

}/*輸入:

7 345 13 12 16 9 5 22

輸出:593 199 */

多元Huffman編碼問題

problem description 在乙個操場的四周擺放著n堆石子。現要將石子有次序地合併成一堆。規定每次至少選2 堆最多選k堆石子合併成新的一堆,合併的費用為新的一堆的石子數。試設計乙個演算法,計算出將n堆石子合併成一堆的最大總費用和最小總費用。對於給定n堆石子,計算合併成一堆的最大總費用和最...

多元Huffman編碼問題

problem description 在乙個操場的四周擺放著n堆石子。現要將石子有次序地合併成一堆。規定每次至少選2 堆最多選k堆石子合併成新的一堆,合併的費用為新的一堆的石子數。試設計乙個演算法,計算出將n堆石子合併成一堆的最大總費用和最小總費用。對於給定n堆石子,計算合併成一堆的最大總費用和最...

多元Huffman編碼問題

time limit 1000 ms memory limit 65536 kib submit statistic problem description 在乙個操場的四周擺放著n堆石子。現要將石子有次序地合併成一堆。規定每次至少選2 堆最多選k堆石子合併成新的一堆,合併的費用為新的一堆的石子數。...