UESTC 1339 乱搞
来源:互联网 发布:徐老师淘宝叫什么名字 编辑:程序博客网 时间:2024/06/03 21:41
郭大侠与线上游戏
Time Limit: 6000/2000MS (Java/Others) Memory Limit: 125535/65535KB (Java/Others)
曾在网络游戏告白,但对方是假冒女生的人妖,而对此有阴影的郭大侠,坚持把游戏和现实分得清清楚楚。有一天竟被网络游戏中的女玩家告白了,虽然在游戏中接受了亚子的表白而结婚,但仍然不敢确信亚子就是真真正正的女生。终于有一天,卢西安所属四人公会的富豪会长决定举行线下聚会,结果发现四个人居然都是同一所高中的学生,甚至另外三人都是真真正正的可爱女孩子。
郭大侠还没完全接受这个事实时,他们发现亚子居然是重度的现实游戏混淆症患者,不仅在现实生活中用游戏角色名字“卢西安”叫人,还旁若无人黏住英骑身上。为了让亚子能够恢复正常,四人的游戏生活延续至学校。
……
今天,拯救亚子的计划是玩游戏!
这个游戏是这样的~
有一个像队列一样的东西,你可以push一个元素到这个队列的尾部,也可以pop掉这个队列的第一个元素
现在问题来了,这个队列中位数是多少呢?
中位数的定义为该队列升序排序后第k/2+1个的数的值,k为这个队列的大小
Input
第一行一个
接下来
1 x,向这个队列推入一个数x
2,弹出这个队列的第一个数
3,查询这个队列的中位数是多少
保证队列中的每个数都不一样哦~
Output
对于每一个询问输出答案。
保证有解~
Sample input and output
61 231 4323
244
题解:开个set然后弄个指针搞一搞就行了
注意删除的时候有可能删除当前的中位数
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<set>#include<deque>using namespace std;set<int>sp;deque<int>sp1;set<int>::iterator it;int main(){ int n,i,j,x,num; scanf("%d",&n); scanf("%d%d",&i,&x); sp1.push_back(x); sp.insert(x); it=sp.find(x); num=1; for(i=2;i<=n;i++){ scanf("%d",&j); if(j==1){ scanf("%d",&x); sp1.push_back(x); sp.insert(x); if(num%2==1){ if(*it<x)it++; } else{ if(*it>x)it--; } num++; } else if(j==2){ int f=sp1.front(); sp1.pop_front(); if(*it==f){ if(num%2==1)it++; else it--; num--; sp.erase(sp.find(f)); continue; } sp.erase(sp.find(f)); if(num%2==1){ if(*it>f)it++; } else{ if(*it<f)it--; } num--; } else{ printf("%d\n",*it); } } return 0;}
0 0
- UESTC 1339 乱搞
- UESTC CDOJ 1551 Hesty Str1ng 后缀数组+乱搞
- UESTC 1339
- 乱搞
- 乱搞
- UESTC 1272 Final Pan's prime numbers 猜答案、乱搞题、数论
- 2016 UESTC Training for Math Problem D-熄灯啦!(乱搞)
- UESTC
- UESTC
- UESTC
- UESTC
- UESTC
- UESTC
- UESTC
- UESTC
- UESTC
- UESTC
- UESTC
- js二级级联
- java 中常量池
- titanic代码注释
- 机器学习 --算法思想梳理
- map 杭电 1039
- UESTC 1339 乱搞
- JNI学习积累之二 ---- 数据类型映射、域描述符说明
- 连接数据库 六大步骤
- 如何重新设置appframework 返回规则
- 我的Spring之旅——(一)构建项目
- 数据结构与算法分析之树的概念总结
- [Python]实现Python脚本转EXE
- 机器学习 之 逻辑回归算法
- Python入门深度学习完整指南