日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【HDU - 4006】The kth great number (优先队列,求第k大的数)

發布時間:2023/12/10 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【HDU - 4006】The kth great number (优先队列,求第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 great number is. Because the number written by Xiao Ming is too much, Xiao Bao is feeling giddy. Now, try to help Xiao Bao.

Input

There are several test cases. For each test case, the first line of input contains two positive integer n, k. Then n lines follow. If Xiao Ming choose to write down a number, there will be an " I" followed by a number that Xiao Ming will write down. If Xiao Ming choose to ask Xiao Bao, there will be a "Q", then you need to output the kth great number.?

Output

The output consists of one integer representing the largest number of islands that all lie on one line.?

Sample Input

8 3 I 1 I 2 I 3 Q I 5 Q I 4 Q

Sample Output

1 2 3

Hint

Xiao Ming won't ask Xiao Bao the kth great number when the number of the written number is smaller than k. (1=<k<=n<=1000000).

解題報告:

? ? ?因為是動態插入數,所以不太好用線段樹(因為線段樹只建樹一次),如果是動態維護(或者說動態更新),那就考慮線段樹了。。。這題開一個優先隊列就可以了。跟這題對比一下【HDU - 4217 】Data Structure? (線段樹求第k小數)

AC代碼:

#include<bits/stdc++.h> using namespace std; priority_queue<int,vector<int >, greater<int> > pq; int main() {int q,k,tmp;char op[5];while(~scanf("%d%d",&q,&k) ) {while(!pq.empty() ) pq.pop();while(q--) {scanf("%s",op);if(op[0] == 'I') {scanf("%d",&tmp);pq.push(tmp);if(pq.size() > k) pq.pop();}else printf("%d\n",pq.top()); } } return 0 ;}

?

總結

以上是生活随笔為你收集整理的【HDU - 4006】The kth great number (优先队列,求第k大的数)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。