数据结构multiset hdu-2275-Kiki & Little Kiki 1
来源:互联网 发布:linux chgrp 单词 编辑:程序博客网 时间:2024/04/27 00:28
题目链接:
http://acm.hdu.edu.cn/showproblem.php?pid=2275
题目意思:
有两种操作:
1、push a 把a放进数组里。
2、pop a 输出不超过a的最大的数,并去掉。
解题思路:
用multiset可以过。
对于操作二先判断容器里面有没有该数,有的话直接输出。没有的话,把a放进容器里,然后查a的位置,-- 得到上一个的位置,最后删除两个迭代器。
代码:
#include<iostream>#include<cmath>#include<cstdio>#include<cstdlib>#include<string>#include<cstring>#include<algorithm>#include<vector>#include<map>#include<set>#include<stack>#include<list>#include<queue>#define eps 1e-6#define INF 0x1f1f1f1f#define PI acos(-1.0)#define ll __int64#define lson l,m,(rt<<1)#define rson m+1,r,(rt<<1)|1//#pragma comment(linker, "/STACK:1024000000,1024000000")using namespace std;/*freopen("data.in","r",stdin);freopen("data.out","w",stdout);*/char ki[10];multiset<int>mys;int main(){ int n,d; multiset<int>::iterator it1,it; while(scanf("%d",&n)!=EOF) { mys.clear(); for(int i=1;i<=n;i++) { scanf("%s%d",ki,&d); if(ki[1]=='u') mys.insert(d); else { if(mys.empty()||d<*mys.begin()) { printf("No Element!\n"); continue; } it=mys.find(d); if(it!=mys.end()) //如果本来就有,直接输出删除 { printf("%d\n",d); mys.erase(it); continue; } mys.insert(d); //构造 先放一个d进去 再找到d所在的位置,然后--得到上一个位置,注意没有相同的d在容器里面 it=it1=mys.find(d); printf("%d\n",*(--it)); mys.erase(it); //删除构造的和找到的 mys.erase(it1); } } puts(""); } return 0;}
- 数据结构multiset hdu-2275-Kiki & Little Kiki 1
- [set]hdu 2275 Kiki & Little Kiki 1
- hdu 2275 Kiki & Little Kiki 1
- HDU 2275 Kiki & Little Kiki 1
- hdu 2275 Kiki & Little Kiki 1
- hdu 2275 Kiki & Little Kiki 1
- hdu 2275 Kiki & Little Kiki 1 (STL)
- Kiki & Little Kiki 1
- HDOJ 2275 Kiki & Little Kiki 1
- 【STL】Kiki & Little Kiki 1
- HDU2275--Kiki & Little Kiki 1
- hdu2275 Kiki & Little Kiki 1
- HDU2275-Kiki & Little Kiki 1
- hdu 2276Kiki & Little Kiki 2
- HDU 2276 Kiki & Little Kiki 2
- Hdu 2276 Kiki & Little Kiki 2
- Kiki & Little Kiki 2 hdu 2276
- Hdu 2276 Kiki & Little Kiki 2
- 2010湖南省C题
- SQL Union和SQL Union All用法
- unity3D之克隆游戏对象
- 使用Ajax发送Struts2请求返回JSON数据格式
- SICP学习 - 序
- 数据结构multiset hdu-2275-Kiki & Little Kiki 1
- hdu1527-威佐夫博弈(Wythoff Game)
- C#用Oledb查询Excel某个sheet中的数据——按多个条件查询
- Linux开机启动服务设置
- IT学生解惑真经
- redhat5安装jdk6、eclipse和tomcat6
- 按位运算符(>> << ~ & ^ | )及实例
- 自学java总结----equals
- jquery fullCalendar 显示时出现12a的解决方案