生活随笔
收集整理的這篇文章主要介紹了
hdu 2275 Kiki Little Kiki 1
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
原題鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=2275?
題意:n個操作?
Push 入容器?
Pop彈出一個 滿足<=該數的最大的數(若沒有輸出No Element!)?
用兩個堆模擬。
1 #include<functional>
2 #include<algorithm>
3 #include<iostream>
4 #include<
string>
5 #include<cstdlib>
6 #include<cstring>
7 #include<cstdio>
8 #include<vector>
9 #include<queue>
10 using std::vector;
11 using std::greater;
12 using std::priority_queue;
13 priority_queue<
int>
que1;
14 priority_queue<
int, vector<
int>, greater<
int> >
que2;
15 void solve(){
16 int v;
17 char buf[
10];
18 scanf(
"%s %d", buf, &
v);
19 if (
'u' == buf[
1]){
20 que2.push(v);
21 }
else {
22 while(!
que2.empty()){
23 int x =
que2.top();
24 if (x <=
v) que1.push(x), que2.pop();
25 else break;
26 }
27 if (que1.empty()) puts(
"No Element!");
28 else printf(
"%d\n", que1.top()), que1.pop();
29 }
30 }
31 int main(){
32 #ifdef LOCAL
33 freopen(
"in.txt",
"r", stdin);
34 freopen(
"out.txt",
"w+", stdout);
35 #endif
36 int n;
37 while (~scanf(
"%d", &
n)){
38 while (n--
) solve();
39 while (!
que1.empty()) que1.pop();
40 while (!
que2.empty()) que2.pop();
41 printf(
"\n");
42 }
43 return 0;
44 }
View Code ?
轉載于:https://www.cnblogs.com/GadyPu/p/4483123.html
總結
以上是生活随笔為你收集整理的hdu 2275 Kiki Little Kiki 1的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。