HDU 4006: The kth great number

The kth great number

///@author Sycamore
///@date 8/8/2017
#include<bits/stdc++.h>
using namespace std;
int main()
{
	ios::sync_with_stdio(false);
	cin.tie(0);
	int n, k;
	while (cin >> n >> k)
	{
		char ch;
		int t;
		multiset<int>s;
		while (n--)
		{
			cin >> ch;
			if (ch == ‘I‘)
			{
				cin >> t;
				s.insert(t);
				if (s.size() > k)s.erase(s.begin());
			}
			else cout <<*s.begin()<<endl ;
		}
	}
	return 0;
}
时间: 2024-10-07 06:29:38

HDU 4006: The kth great number的相关文章

HDU 4006 The kth great number (基本算法-水题)

The kth great number Problem Description 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 mu

hdu 4006 The kth great number (优先队列+STB+最小堆)

The kth great number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65768/65768 K (Java/Others) Total Submission(s): 6637    Accepted Submission(s): 2671 Problem Description Xiao Ming and Xiao Bao are playing a simple Numbers game. In a roun

HDU 4006 The kth great number AVL解法

给出动态更新数据,实时问第K个大的数值是什么? 利用AVL数据结构做的一个统计数,比较高级的数据结构内容了. 不知道题目给出的数据值是否有重复,因为我下面的程序是可以处理出现数据重复的情况的. 其中的奥妙是增加了repeat的信息,可以知道出现了当前数组多少次. 主要是知道如何维护这些数据和如何查询,维护数据的函数是pushUp,查询函数是selectKth. 其他就是一般的AVL操作.个人觉得我的AVL写的还算蛮清晰的,有需要的参考一下. #include <stdio.h> inline

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

题目 询问第K大的数 //这是我最初的想法,用multiset,AC了——好吧,也许是数据弱也有可能 //multiset运用——不去重,边插入边排序 //iterator的运用,插入的时候,如果是相同的数没直接放在相同的现有的数据后面的 #include<cstdio> #include<cstring> #include<algorithm> #include<set> using namespace std; //#define IN freopen(

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

1 /********************************************************** 2 题目: The kth great number(HDU 4006) 3 链接: http://acm.hdu.edu.cn/showproblem.php?pid=4006 4 算法: 优先队列 5 ************************************************************/ 6 #include<cstdio> 7 #

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

The kth great number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65768/65768 K (Java/Others) Total Submission(s): 6982    Accepted Submission(s): 2837 Problem Description Xiao Ming and Xiao Bao are playing a simple Numbers game. In a roun

hdu 4006 The kth great number,set,priority_queue

The kth great number 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 feel

HDU 4006 The kth great number(优先队列&#183;第K大数)

题意  动态查询第K大的数 用小数在前优先队列维护K个数  每要插入一个数时 若这个数小于队首元素那么就不用插入了  否则队首元素出队  这个数入队  每次询问只用输出队首元素就行了 #include<cstdio> #include<queue> using namespace std; int main() { int n, a, k; char op[5]; while(~scanf("%d%d", &n, &k)) { priority_

hdu 4006 The kth great number/SBT

原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=4006 这题原先用treap写过的,现在看了sb树..本来想练习一下sbt树重复元素的插入, 搞了半天跟以前写的treap方法完全不一样/(ㄒoㄒ)/~~, 照下面的写法重复的节点被完全插入到树中了,o(╯□╰)o.. 如果重复元素很多,那会浪费太多的空间,不知到有没啥好的方法... 还是再慢慢想想吧,T_T- #include<stdio.h> #include<stdlib.h> #