因为之前没写过平衡树的题,所以很自然地只会用set来写。。。然后,很蠢地想直接找set容器中间位置的那个值,结果iterator没有重载+唉。。。翻了一下AC的代码(果然有跟我一样用set来写的),然后发现是两个set容器解决了这个问题。。。其实很容易想到,一个set容器放前一半的数,一个set容器放后一半的数,就行了。。。

#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <cstdlib>
#include <set>
#include <queue>
#define FOR(i,x,y)  for(int i = x;i < y;i ++)
#define IFOR(i,x,y) for(int i = x;i > y;i --)using namespace std;int n;int main()
{//freopen("test.in","r",stdin);int tCase = 0;while(~scanf("%d",&n)){printf("Case #%d:\n",++tCase);int num;queue <int> s;set <int>   p,q;char str[10];while(n--){getchar();scanf("%s",str);if(str[0] == 'q'){printf("%d\n",*(q.begin()));}else if(str[0] == 'i'){scanf("%d",&num);s.push(num);if(q.empty() || num < *(q.begin())){p.insert(num);}elseq.insert(num);}else{int v = s.front(); s.pop();if(p.find(v) != p.end()){p.erase(v);}elseq.erase(v);}while(p.size() > q.size()){set <int> :: iterator it = p.end();it--;int v = *it;p.erase(it);q.insert(v);}while(q.size() > p.size()+1){set <int> :: iterator it = q.begin();int v = *it;p.insert(v);q.erase(it);}}}return 0;
}

转载于:https://www.cnblogs.com/hqwhqwhq/p/4555869.html

HDU_5249(百度之星D题)相关推荐

  1. 列变位法解密--百度之星B题

    http://bestcoder.hdu.edu.cn/contests/contest_showproblem.php?cid=584&pid=1002 关于百度之星的晋级规则说明 列变位法 ...

  2. 2013年3月百度之星B题

    Sigma Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other) Problem Descr ...

  3. 百度之星第一题竟然没过

    找了一下bug,还是发现自己思维不够严密,左部为一个字符时竟然没法转换,改了一下,以后再看罗. #include "stdio.h" #include "string&q ...

  4. 2013年3月百度之星A题

    伪随机数生成器 题目描述 baidu熊最近在学习随机算法,于是他决定自己做一个随机数生成器. 这个随机数生成器通过三个参数c, q, n作为种子, 然后它就可以通过以下方式生成伪随机数序列: m0=  ...

  5. 2016 百度之星 B题(java实现)

    Problem B    Time Limit: 2000/1000 MS (Java/Others)  Memory Limit: 65536/65536 K (Java/Others) Probl ...

  6. 百度之星A题 调查问卷

    调查问卷 Accepts: 1546 Submissions: 6596 Time Limit: 6500/6000 MS (Java/Others) Memory Limit: 262144/262 ...

  7. 三个角色,十五年,二十万选手:我们如何理解“百度之星”?

    你在上学时,有幻想过那些漫画主角般的经历吗? 就是经历千辛万苦,见证世界之大和高手无数,最终登上世界顶峰,迈入时代前沿.这种<灌篮高手><足球小将>里的剧情,大多数人只在看漫画 ...

  8. 2014百度之星资格赛第一道Energy Conversion

    Problem Description 魔法师百小度也有遇到难题的时候--现在,百小度正在一个古老的石门面前,石门上有一段古老的魔法文字,读懂这种魔法文字需要耗费大量的能量和大量的脑力.过了许久,百小 ...

  9. 2014年百度之星资格赛第一题Energy Conversion

    2014年百度之星资格赛第一题Energy Conversion Problem Description 魔法师百小度也有遇到难题的时候-- 如今,百小度正在一个古老的石门面前,石门上有一段古老的魔法 ...

最新文章

  1. 超神了!因为一次接口超时,我一路排查到了内核代码
  2. MYSQL数据库从A表把数据插入B表
  3. 大专学java还是python_零基础应该选择学习 java、php、前端 还是 python?
  4. stm32_CAN总线知识
  5. python库迁移到没有网的电脑_关于换机器后python库的迁移-偷懒做法
  6. 17.后台管理注册审核接口
  7. linux 6.3 vnc安装包,CentOS 6.3安装和配置VNC
  8. php laravel 默认cookie加密 读取怎么办_Laravel+Nginx轻松实现读写分离、负载均衡,网站并发能力提升N倍...
  9. tomcat6配置log4j日志
  10. [原]解决win2003 iis6 部署MVC 无法访问 403 的问题
  11. mysql 数据库的维护,优化
  12. 2013年全国天线年会参展商名录及观展指南
  13. listmanager htdocs
  14. 大学计算机音乐一起学,和学生一起学音乐
  15. JavaScript简史
  16. debian linux手机安装,在 Android 系统上安装 Debian Linux 与 R
  17. 清华大学用6个无线传感器搞定全身动作捕捉,可跑可跳可打滚
  18. 御手洗sama 网易宝面试:java程序员(其实我根本不记得我投的是什么了,但是一直问的是java,应该就是java了)...
  19. 高性能MySQL -- 查询性能优化
  20. python 找对称数

热门文章

  1. 中根遍历二叉查找树所得序列一定是有序序列_二叉搜索树(BST)
  2. html5中preclass,为什么HTML5建议把代码元素放在pre?
  3. python生成html报表_python生成HTMl报告(unittest)
  4. 数字范围按位与Python解法
  5. 大数据中常见的端口号 总结汇总大全(最新)
  6. vue a-sub-menu 添加点击事件报错_Vue+TS 使用的问题(持续更)
  7. java获取ip地址不重复,如何在android(Java)中验证Ip地址[重复]
  8. 底层框架_你有必要了解一下Flink底层RPC使用的框架和原理
  9. 基于 xilinx vivado 的PCIE ip核设置与例程代码详解
  10. linux下用u盘安装xp系统安装教程,全新Linux笔记本电脑用U盘装Win7/XP系统教程