HDU-#4006 The kth great number(优先队列)
来源:互联网 发布:自动建站系统源码 编辑:程序博客网 时间:2024/05/22 09:46
题目大意:两个小朋友做游戏,一个人提供两种操作,一是“I”,即存入数据data,二是“Q”,即问存入数据列中第k大的数是多少?
解题思路:利用优先队列的性质来维护这个数据序列的有序性,然后设定优先队列的宽度为k,那么当数据超出k值就弹出,这样就可以维护队列的top为第k大的值。
题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=4006
STLcode:
#include <iostream>#include <cstdio>#include <vector>#include <queue>using namespace std;int data,n,k;char opr;int main(){ priority_queue<int,vector<int>,greater<int> > q; while(scanf("%d%d",&n,&k)!=EOF){ for(int i=0;i<n;i++){ cin>>opr; if(opr=='I'){ cin>>data; if(q.size()<k) q.push(data); else if(data > q.top()) {q.pop(); q.push(data);} } else if(opr=='Q'){ cout<<q.top()<<endl; } } while(!q.empty()){ q.pop(); } } return 0;}
0 0
- HDU 4006 The kth great number(优先队列)
- HDU 4006 The kth great number(优先队列)
- hdu 4006 The kth great number(优先队列)
- HDU-#4006 The kth great number(优先队列)
- HDU 4006 The kth great number (优先队列)
- 【HDU 4006】The kth great number(优先队列)
- HDU 4006 The kth great number (优先队列)
- 【HDU】-4006-The kth great number(优先队列,好)
- HDU:4006 The kth great number(优先队列)
- HDU 4006 The kth great number(优先队列)
- hdu 4006 The kth great number(优先队列)
- hdu 4006 The kth great number(优先队列)
- hdu 4006 The kth great number(使用优先队列)
- HDU 4006 The kth great number(优先队列、堆实现)
- HDU 4006 The kth great number (堆实现优先队列)
- hdu 4006 The kth great number 优先队列
- HDU 4006 The kth great number【优先队列】
- hdu 4006 The kth great number(优先队列)
- UVA 10837 - A Research Problem(欧拉函数)
- 如何消除UIBarButtonItem系统默认的10像素点
- sqlite3命令读出sqlite3格式的文件内容案例
- iOS中本地存储
- POJ-2201-Cartesian Tree(笛卡尔树)
- HDU-#4006 The kth great number(优先队列)
- PPPoE技术白皮书
- http协议
- Activity状态的保存
- iOS开发24:使用SQLite3存储和读取数据
- linux 生成动态库时提示relocation R_X86_64_32 against `.rodata' can not be used when making a shared object;
- 如何优雅的入门LISP(一)
- iOS中的数据库
- 多年以后……