HDU 4006 The kth great number(優先佇列)
由於只有插入操作,所以不很複雜的資料結構,優先佇列就可以了,每次保持佇列中有k個元素,這樣取出的頭必然是第k大
程式碼:
#include <cstdio> #include <cstring> #include <algorithm> #include <queue> using namespace std; int n, k; int main() { while (~scanf("%d%d", &n, &k)) { char s[2]; int x; priority_queue<int, vector<int>, greater<int> > Q; while (n--) { scanf("%s", s); if (s[0] == 'I') scanf("%d", &x), Q.push(x); else { while (Q.size() > k) Q.pop(); printf("%d\n", Q.top()); } } } return 0; }
相關推薦
HDU 4006 The kth great number(優先佇列)
由於只有插入操作,所以不很複雜的資料結構,優先佇列就可以了,每次保持佇列中有k個元素,這樣取出的頭必然是第k大 程式碼: #include <cstdio> #include <cstring> #include <algorithm>
hdu 4006 The kth great number(優先佇列)
Problem Description Xiao Ming and Xiao Bao are playing a simple Numbers game. In a round Xiao Ming c
HDU 4006: The kth great number
cout show ace c++ out mil while -a tex The kth great number[email protected]/* */ Sycamore [email protected]/* */ 8/8/2017 #i
hdu 4006 The kth great number 很複雜的線段樹,至少對於我來說,但也學會了很多!!!!!!!!!!
這道題是網路預選賽上做的,當時就是超時,後來知道是線段樹,從時間複雜度來說用線段樹先是將所用的點記錄然後nlog的快排,之後查詢就是logn了,軟和不用線段樹,之後的查詢是On的複雜度,要是來一堆大資料那就必然超時了 廢話不多說了,先將記錄的所用點排序,在離散化,建樹,將資
HDU4006 The kth great number————棧和佇列(優先佇列)
Xiao Ming and Xiao Bao are playing a simple Numbers game. In a round Xiao Ming can choose to write down a number, or ask Xiao Bao w
The kth great number HDU 4006(第K大)
題面: Xiao Ming and Xiao Bao are playing a simple Numbers game. In a round Xiao Ming can choose to write down a number, or ask Xiao Bao what the kth g
The kth great number multiset應用(找第k大值)
for begin urn mes etc when ++ multi size The kth great number Xiao Ming and Xiao Bao are playing a simple Numbers game. In a round Xiao
HDOJ4006 The kth great number --優先佇列求第k大數
The kth great number Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65768/65768 K (Java/Others) Total Submission(s): 7004 Acc
HDU 6208 The Dominator of Strings ——(青島網絡賽,AC自動機)
while using else .cn 清空 mat 一點 自動 ring 最長的才可能成為答案,那麽除了最長的以外全部insert到自動機裏,再拿最長的去match,如果match完以後cnt全被清空了,那麽這個最長串就是答案。事實上方便起見這個最長串一起丟進去也無
hdu 5381 The sum of gcd(線段樹+gcd)
const HR LV oid pac vector AR statistic modify 題目鏈接:hdu 5381 The sum of gcd 將查詢離線
HDU - 5542 The Battle of Chibi(LIS+樹狀數組優化)
possible ould eof namespace chan panel arm int sam The Battle of Chibi Cao Cao made up a big army and was going to invade the whole Sout
hdu 4347 The Closest M Points (kd tree 模板題)
題目:http://acm.hdu.edu.cn/showproblem.php?pid=4347 #include<bits/stdc++.h> using namespace std; #define sq(x) (x)*(x) const int maxn=6e4+10;
暢通工程續(HDU 1874 迪傑斯特拉+優先佇列)
暢通工程續 Time Limit: 3000/1000 MS (Java/Others) Memory
HDU - 5381 The sum of gcd(離線處理 + 線段樹)
題目連結:http://acm.hdu.edu.cn/showproblem.php?pid=5381 題目大意:給出一個長度為 n 的陣列a,現在有q次詢問,每次詢問給出一個區間 [L,R],要你求出這個區間內所有子區間的gcd之和,即求。 題目思路:根據gcd的性質,以L為起點,終點小於
hdu 2444 The Accomodation of Students (判斷是否是二分圖,最大匹配)
小記:這題主要是判斷給定的圖是否是二分圖匹配,如果是的,求出最大匹配。這題資料比較水。 思路:求圖是否可以二分,可以使用dfs染色,或者bfs染色,或者並查集, 這裡我使用的是dfs染色,比較簡單的一種。 程式碼: #include <iostream> #
HDU 3861 The King’s Problem(tarjan縮點+最小路徑覆蓋:sig-最大二分匹配數,經典題)...
The King’s Problem Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 4080 Accepted Submission(s):
HDU 3943 —— K-th Nya Number(數位DP,二分答案)
給定X和Y的值,一個數字用十進位制表示,對於數位4出現恰好X次,7恰好Y次的數字稱為nya數。 然後給P和Q, 後面是一系列查詢, 每個查詢K就是在區間(P,Q]上找到第K個nya數,不存在則輸出Nya!(= = 這是尖叫的意思麼) 因為數字的範圍比較大,又是跟數位有關,
2017多校聯合第八場/hdu 6136Death Podracing(優先佇列+迴圈連結串列)
> During the Trade Federation invasion of Naboo, Anakin Skywalker won the Boonta Eve Classic on Tatooine, securing his freedom from a life of slavery.
hdu 5381 The sum of gcd(線段樹等差數列區間修改+單點查詢)
題意: 給出一個數組a,叫你每次詢問如下等式的值。 f(l,r)=∑ri=l∑rj=igcd(ai,ai+1....aj) 解析: 思考了很久終於理解了學長的思路 給你一個序列,這個序列的子序列gcd的個數不會超過logN個(N為
HDU 4004 The Frog's Games (二分貪心)
二分答案,每次貪心儘量跳遠去判斷即可 程式碼: #include <cstdio> #include <cstring> #include <algorithm> using namespace std; const int N = 5