题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4006

题目大意:

  第一行 输入 n k,后有 n 行,对于每一行有两种状态 ,①“I x” : 插入 x ② “Q” : 输出当前 第 K大的数

解题思路:

  利用优先队列保证插入新数据后的队列是有序的。

  重点:保证 k 个数的队列就行。加一个标志 flag_k;

I:  如果 flag_k<k,则将新输入的数放入队列中。

   否则判断第k个数是否小于新输入的数,如果小于,则队头出队,新输入的入队:保证队列中第k个数一直是最大的。

Q:  输出队头即可。 

AC Code:

 #include<bits/stdc++.h>
using namespace std;
struct Node
{
int key;
friend bool operator < (Node a,Node b)
{
return a.key>b.key;
}
};
int main()
{
int n,k;
while(scanf("%d%d",&n,&k)!=EOF)
{
priority_queue <Node> q;
int flag_k=;
while(n--)
{
char c;
cin>>c;
if(c=='I')
{
Node tem;
scanf("%d",&tem.key);
if(flag_k<k)
{
flag_k++;
q.push(tem);
}
else
{
if(tem.key>q.top().key)
{
q.pop();
q.push(tem);
}
}
}
else if(c=='Q')
printf("%d\n",q.top().key);
}
}
return ;
}

hdu 4006 The kth great number(优先队列)的更多相关文章

  1. hdu 4006 The kth great number (优先队列)

    /********************************************************** 题目: The kth great number(HDU 4006) 链接: h ...

  2. HDU 4006 The kth great number 优先队列、平衡树模板题(SBT)

    The kth great number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65768/65768 K (Java/Oth ...

  3. HDU 4006 The kth great number (优先队列)

    The kth great number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65768/65768 K (Java/Oth ...

  4. HDU - 4006 The kth great number multiset应用(找第k大值)

    The kth great number Xiao Ming and Xiao Bao are playing a simple Numbers game. In a round Xiao Ming ...

  5. HDU 4006 The kth great number(multiset(或者)优先队列)

    题目 询问第K大的数 //这是我最初的想法,用multiset,AC了——好吧,也许是数据弱也有可能 //multiset运用——不去重,边插入边排序 //iterator的运用,插入的时候,如果是相 ...

  6. HDU 4006 The kth great number【优先队列】

    题意:输入n行,k,如果一行以I开头,那么插入x,如果以Q开头,则输出第k大的数 用优先队列来做,将队列的大小维护在k这么大,然后每次取队首元素就可以了 另外这个维护队列只有k个元素的时候需要注意一下 ...

  7. hdu 4006 The kth great number

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4006 思路:利用优先队列的性质,将数据存入后会自动对数据进行排序 #include<stdlib ...

  8. HDU 4006 The kth great number AVL解

    提供动态更新数据.第实时QK大量的值什么? 使用AVL统计数据结构做,比较先进的数据结构的内容. 不知道给出的数据为准值是否有反复.下面的程序是因为我能够处理重复数据出现的情况下,. 了repeat的 ...

  9. hdoj 4006 The kth great number【优先队列】

    The kth great number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65768/65768 K (Java/Oth ...

随机推荐

  1. Web的结构组件

    HTTP代理服务器的作用 Web安全,应用集成,性能优化 1. 代理 In computer networks, a proxy server is a server (a computer syst ...

  2. Kernel Methods (2) Kernel function

    几个重要的问题 现在已经知道了kernel function的定义, 以及使用kernel后可以将非线性问题转换成一个线性问题. 在使用kernel 方法时, 如果稍微思考一下的话, 就会遇到以下几个 ...

  3. poj2553 强连通缩点

    The Bottom of a Graph Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 10114   Accepted: ...

  4. thinkphp全站静态页实现方法

    1:在根目录下的全局index.php中加下面这行: define('HTML_PATH', './htm');//生成静态页面的文件位置 2:在项目的配置文件config.php中加下面这行: 'H ...

  5. 02python算法-递推

    递推 1什么是递推?:根据已有节点的值,以及规律推出之后节点的值 2为什么要用递推:简单的解决有规矩事件 3怎么用?: 我们举个经典的例子: 如果1对兔子每月能生1对小兔子,而每对小兔在它出生后的第3 ...

  6. 计算&IO密集型任务的 优化

    问题原因: 最近由于工作实际需求,需要对某个计算单元的计算方法进行重构.原因是由于这个计算单元的计算耗时较长,单个计算耗时大约在1s-2s之间,而新的需求下,要求在20s内对大约1500个计算单元计算 ...

  7. lucene-查询query->BooleanQuery “与或”搜索

    BooleanQuery也是实际开发过程中经常使用的一种Query.它其实是一个组合的Query,在使用时可以把各种Query对象添加进去并标明它们之间的逻辑关系. BooleanQuery本身来讲是 ...

  8. pycharm使用错误排查

    1.pip安装扩展包报错 creating build/temp.linux-x86_64-3.4 x86_64-linux-gnu- -Wformat -Werror=format-security ...

  9. 69.Android之天气预报app

    最近买了本书<Android第一行代码>,通篇看了下感觉不错,书本最后有个实战项目酷欧天气,闲来无事就照着敲了一遍代码,主要在请求天气接口和背景优化做了些小改动,现在来记录下. (1) a ...

  10. 1.值得推荐的C/C++框架和库 (转)

    值得学习的C语言开源项目 - 1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的 ...