貪心策略:每次選取最小的兩個數相加,將和作為新的數加入序列,再從裡面取兩個最小的數...直到只剩下乙個數。優先佇列正好對付這題。
ps :以前在學校oj做過幾乎一毛一樣的這題
ac**:
#include#includeusing namespace std;
priority_queue, greater>q; //the smallest is on top
int main()
int ans = 0;
while(q.size() > 1)
printf("%d\n",ans);
// clean
while(!q.empty()) q.pop();
}return 0;
}
如有不當之處歡迎指出!
UVA10954哈夫曼樹與優先佇列
這個題就是乙個最小堆,也就是常說的哈夫曼樹,可以直接使用stl優先佇列,先給乙個哈夫曼樹的 建樹,取堆值,插入值。哈夫曼樹 include include include include include include include include include include include ...
優先佇列貪心
最近做了幾個用優先佇列進行貪心的題目,這裡寫下來,以免忘了。1 cf 799 b 每次選最便宜的衣服,沒什麼好說的,一發過 include include include include include define n 6005 define inf 0x3f3f3f3f include incl...
貪心加優先佇列
消滅兔子 李陶冶 命題人 基準時間限制 1 秒 空間限制 131072 kb 分值 40 有n只兔子,每只有乙個血量b i 需要用箭殺死免子。有m種不同型別的箭可以選擇,每種箭對兔子的傷害值分別為d i 為p i 1 i m 假設每種箭只能使用一次,每只免子也只能被射一次,計算要消滅地圖上的所有兔子...