poj 1442 可以當做是優先佇列的模板
/*poj 1442
題意:給定m個數,每次可以插入序列乙個數;再給n個數,表示在插入第幾個數時輸出乙個數,
第一次輸出序列中最小的,第二次輸出序列中第二小的……以此類推,直到輸出n個數。
優先佇列的使用:
本題思路是建立乙個小頂堆p和乙個大頂堆q,
q儲存前k個小的數,且保證p的值都比q的大,
最後輸出q的頂
*/#include
#include
#include
#include
using
namespace
std;
intmain()
cout
q.push(p.top());
/*把第k小的數放入q中,保持q的個數
*/p.pop();
}return0;
}
POJ 1442 Black Box 優先佇列
優先佇列。剛開始用蠢辦法,經過乙個vector容器中轉,這麼一來一回這麼多趟,肯定超時啊。超時 如下 include include include include include include include include include include include using names...
poj1442 優先佇列oye
歷經磨難終於解決了這題,原來用stl可以這麼簡單 這題的思路 用stl弄2個優先佇列,big佇列優先彈出最小的,small佇列優先彈出最大的,若要求第i小的數字,只要滿足small佇列裡有i個元素,且small佇列的top比big佇列的top小,則small的top就是第i小的數字。關於優先佇列記住...
POJ 1442 Treap 板子記錄
題意 給乙個序列,然後給出m個查詢,每次查詢輸入乙個數x,對於第i次查詢,輸出前x個數中第i大的關鍵字的值。解題方法 就是裸treap板子了,先介紹一下treap。treap是一棵二叉搜尋樹,只是每個節點多了乙個優先順序fix,對於每個節點,該節點的優先順序小於等於其所有孩子的優先順序。當然,引入優...