HDU --- 4006
The kth great number
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65768/65768 K (Java/Others)
Total Submission(s): 6014 Accepted Submission(s): 2434
- #include<cstdio>
- #include<queue>
- #include<vector>
- using namespace std;
- struct cmp
- {
- bool operator()(int x, int y)
- {
- return x > y;
- }
- };
- priority_queue<int, vector<int>, cmp>q;
- int main(int argc, char const *argv[])
- {
- int n, k, temp;
- char str[];
- //freopen("in.c", "r", stdin);
- while(~scanf("%d%d", &n, &k))
- {
- while(!q.empty())
- q.pop();
- for(int i = ;i < n;i ++)
- {
- scanf("%s", str);
- if(str[] == 'I')
- {
- scanf("%d", &temp);
- q.push(temp);
- if(q.size() > k)
- q.pop();
- }
- else
- printf("%d\n", q.top());
- }
- }
- return ;
- }
线段树:
- #include<stdio.h>
- #define MAX 1000005
- typedef struct
- {
- int left, right, mid, num, l_cnt, r_cnt;
- }NodeTree;
- NodeTree node[*MAX];
- void BuildTree(int k, int l, int r)
- {
- node[k].left = l;
- node[k].right = r;
- node[k].l_cnt = node[k].r_cnt = ;
- node[k].mid = (l + r) >> ;
- if(l == r)
- return;
- int mid = (l + r) >> ;
- BuildTree(k << , l, mid);
- BuildTree(k << |, mid+, r);
- }
- void UpdateTree(int k, int num)
- {
- if(node[k].left == node[k].right)
- {
- node[k].num = num;
- return ;
- }
- if(node[k].mid < num)
- {
- node[k].r_cnt ++;
- UpdateTree(k << |, num);
- }
- else
- {
- node[k].l_cnt ++;
- UpdateTree(k << , num);
- }
- }
- int GetRusult(int k, int pos)
- {
- if(node[k].left == node[k].right)
- return node[k].num;
- if(node[k].r_cnt >= pos)
- GetRusult(k << |, pos);
- else
- GetRusult(k << , pos - node[k].r_cnt);
- }
- int main(int argc, char const *argv[])
- {
- int n, k, a, i;
- char str[];
- //freopen("in.c", "r", stdin);
- while(~scanf("%d%d", &n, &k))
- {
- BuildTree(, , n);
- for(i = ;i < n;i ++)
- {
- scanf("%s", str);
- if(str[] == 'I')
- {
- scanf("%d%d", &a);
- UpdateTree(, a);
- }
- else
- {
- printf("%d\n", GetRusult(, k));
- }
- }
- }
- return ;
- }
HDU --- 4006的更多相关文章
- hdu 4006 The kth great number (优先队列)
/********************************************************** 题目: The kth great number(HDU 4006) 链接: h ...
- hdu 4006 The kth great number(优先队列)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4006 题目大意: 第一行 输入 n k,后有 n 行,对于每一行有两种状态 ,①“I x” : 插入 ...
- hdu 4006 The kth great number
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4006 思路:利用优先队列的性质,将数据存入后会自动对数据进行排序 #include<stdlib ...
- hdu 4006/AvlTree
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=4006 这道题以前用c语言写的Avltree水过了.. 现在接触了c++重写一遍... 由于没有删除操作 ...
- HDU 4006 优先队列
The kth great number Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65768/65768 K (Java/Oth ...
- hdu 4006 优先队列 2011大连赛区网络赛F **
签到题都要想一会 #include<cstdio> #include<iostream> #include<algorithm> #include<cstri ...
- HDU 4006 The kth great number(multiset(或者)优先队列)
题目 询问第K大的数 //这是我最初的想法,用multiset,AC了——好吧,也许是数据弱也有可能 //multiset运用——不去重,边插入边排序 //iterator的运用,插入的时候,如果是相 ...
- HDU 4006 The kth great number【优先队列】
题意:输入n行,k,如果一行以I开头,那么插入x,如果以Q开头,则输出第k大的数 用优先队列来做,将队列的大小维护在k这么大,然后每次取队首元素就可以了 另外这个维护队列只有k个元素的时候需要注意一下 ...
- HDU 4006 The kth great number AVL解
提供动态更新数据.第实时QK大量的值什么? 使用AVL统计数据结构做,比较先进的数据结构的内容. 不知道给出的数据为准值是否有反复.下面的程序是因为我能够处理重复数据出现的情况下,. 了repeat的 ...
随机推荐
- 学习使用Et采集的过程和分析
- [时间操作] C#TimeHelper时间格式化帮助类 (转载)
点击下载 TimeHelper.rar 主要功能如下 .将时间格式化成 年月日 的形式,如果时间为null,返回当前系统时间 .将时间格式化成 时分秒 的形式,如果时间为null,返回当前系统时间 . ...
- Oracle 11g 新特性(一)-- 虚拟列
数据库版本: Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Oracle11g 增加了虚拟列的新特性, 具体说明如 ...
- ie8中parseInt字符型数值转换数值型问题
今天在ie8中测试项目发现一个奇怪的问题,"08" "09" 强转竟然变成了: 后来发现ie8把"08" "09" 默认 ...
- 接触.net5年了,感觉自己的知识面很狭隘。
08年毕业找工作期间开始接触网页开发,由于在学校了混了4年时间,我只能从html标记语言开始学习,后来应聘到一个网站建设公司,开始学习ps.Dreamweaver和asp.由于基础薄弱,一个月后离开了 ...
- 【elasticsearch】(1)centos7 使用yum安装elasticsearch 2.X
前言 elasticsearch(下面称为ES)是一个基于Lucene的搜索服务器(By 百度百科:查看).所以他需要java的环境即jdk,这里提供懒人一键安装方式 # yum install ja ...
- Forward reference vs. forward declaration
Q:Im a bit confused. What is the difference between forward declaration and forward reference? Forwa ...
- www.nygwkt.com
南京宁阳制冷设备维修有限公司是专业从事厨房空调,http://www.nygwkt.com岗位空调制冷设备设计.制造.安装.改造.维修.保养的专业化公司.在南京享有很高的客户评论. 我们对南京宁阳制冷 ...
- bzoj 2734: [HNOI2012]集合选数 状压DP
2734: [HNOI2012]集合选数 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 560 Solved: 321[Submit][Status ...
- 你真的了解 MySQL 数据库的运行状况吗?
2015年第三方市场调查机构 Evans 数据公司最近公布的一系列客户调查数据显示,在过去两年里,MySQL 在所有开发者使用的数据库中获得了25%的市场份额,Evans 公司的本次调查显示,数据库的 ...