STL 優先佇列

2021-09-05 10:29:22 字數 763 閱讀 4351

stl真是個好東西

題目描述

在乙個果園裡,多多已經將所有的果子打了下來,而且按果子的不同種類分成了不同的堆。多多決定把所有的果子合成一堆。

每一次合併,多多可以把兩堆果子合併到一起,消耗的體力等於兩堆果子的重量之和。可以看出,所有的果子經過 n-1n−1 次合併之後, 就只剩下一堆了。多多在合併果子時總共消耗的體力等於每次合併所耗體力之和。

因為還要花大力氣把這些果子搬回家,所以多多在合併果子時要盡可能地節省體力。假定每個果子重量都為 11 ,並且已知果子的種類 數和每種果子的數目,你的任務是設計出合併的次序方案,使多多耗費的體力最少,並輸出這個最小的體力耗費值。

樣例

輸入 輸出

3 1 2 9 15

#include using namespace std;

inline int read()

while(isdigit(ch))

return s * w;

}#define maxx 11000

int n;

int a[maxx];

int res = 0;

priority_queue,greater>q;

int main()

while(q.size() >= 2)

printf("%d\n", res);

return 0;

}

STL 優先佇列

優先佇列 在優先佇列中,優先順序高的元素先出佇列。標準庫預設使用元素型別的 操作符來確定它們之間的優先順序關係。優先佇列的第一種用法,也是最常用的用法 priority queue qi 通過 操作符可知在整數中元素大的優先順序高。故示例1 中輸出結果為 9 6 5 3 2 第二種方法 在示例1 中...

優先佇列 stl

priority queue預設頂部是最大值 1 優先佇列的定義 包含標頭檔案 queue.h functional.h 可以使用具有預設優先順序的已有資料結構 也可以再定義優先佇列的時候傳入自定義的優先順序比較物件 或者使用自定義物件 資料結構 但是必須過載好 操作符。2 優先佇列的常用操作 優先...

STL 優先佇列

stl是個很玄學的東西,裡面有一種外掛程式般的操作 優先佇列。主體和佇列差不多,只不過每次push都會把當前的數放在合適的位置。而隊頭就是最大 小 的數。大概可以看成這樣的 queue tail a sort queue 1,queue 1 tail 隊頭最大的優先佇列 priority queue...