方法一:(使用优先队列超时)
#include<iostream>
#include<algorithm>
#include<cstring>
#include<map>
#include<queue>
#include<cstdio>
using namespace std;
const int maxx=1e5+10;
int main(){map<int,int>mp;int n,a,b;mp.clear();int vis[maxx];memset(vis,0,sizeof(vis));priority_queue<int,vector<int>,greater<int> >q1;queue<int>q2;while(cin>>n){if(n==0)break;int i=0;if(n==1){cin>>a>>b;mp[b]=a;q1.push(b);}else if(n==2){int i=0;if(q1.empty()){cout<<0<<endl;}else{int k=q1.size();while(!q1.empty()){int t=q1.top();q1.pop();vis[++i]=t;}int t=vis[i];i--;while(i>=1){q1.push(vis[i]);i--;}cout<<mp[t]<<endl;}}else if(n==3){if(q1.empty()){cout<<0<<endl;}else{int t=q1.top();q1.pop();cout<<mp[t]<<endl;}}}return 0;
}
方法二:map#include<iostream>
#include<algorithm>
#include<cstring>
#include<cstdio>
#include<map>
using namespace std;
int a,b;
int main(){int n;map<int,int>mp;while(cin>>n){if(n==0)break;if(n==1){scanf("%d %d",&a,&b);mp[b]=a;}else if(n==2){if(mp.size()==0){cout<<0<<endl;}else{map<int,int>::iterator it;it=mp.end();it--;cout<<it->second<<endl;mp.erase(it);}}else if(n==3){if(mp.size()==0){cout<<0<<endl;}map<int,int>::iterator it;it=mp.begin();cout<<it->second<<endl;mp.erase(it);}}return 0;
}
方法三:set和map
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cstdio>
#include<map>
#include<set>
using namespace std;
int a,b;
int main(){int n;set<int>st;map<int,int>mp;while(scanf("%d",&n)){if(n==0)break;if(n==1){scanf("%d %d",&a,&b);st.insert(b);mp[b]=a;}else if(n==2){if(st.size()==0){cout<<0<<endl;}else{set<int>::iterator it;it=st.end();it--;cout<<mp[*it]<<endl;st.erase(*it);}}else if(n==3){if(st.size()==0){cout<<0<<endl;}set<int>::iterator it;it=st.begin();cout<<mp[*it]<<endl;st.erase(*it);}}return 0;
}

poj3481(map的使用)相关推荐

  1. Map的分类和不同的应用场景

    java为数据结构中的映射定义了一个接口java.util.Map; 它有四个实现类,分别是HashMap,Hashtable,LinkedHashMap和TreeMap 可能很多人只使用过HashM ...

  2. java1.8新增超实用Map方法——Map.getOrDefault()和Map.value()方法详解

    1. Map.getOrDefault() 翻译一下官方解释: java.util.Map<K, V> V getOrDefault(Object key, V defaultValue) ...

  3. Go 学习笔记(67)— Go 并发安全字典 sync.Map

    1. 并发不安全的 map Go 语言中的 map 在并发情况下,只读是线程安全的,同时读写是线程不安全的. 换句话说,在同一时间段内,让不同 goroutine 中的代码,对同一个字典进行读写操作是 ...

  4. Python 常用内置函数map、zip、filter、reduce、enumerate

    Python 中有许多非常实用的内置函数,通过这些函数我们可以方便的实现某些功能,下面就列举一些常用的内置函数. 1. map() 函数 map() 可以根据提供的函数对指定序列做映射,它接受一个函数 ...

  5. 将request中的所有参数存放到自定义的map中

    /*** <获取参数map>* * @return 参数map* @throws Exception */protected Map<String, Object> getPa ...

  6. Map再整理,从底层源码探究HashMap

    前言 本文为对Map集合的再一次整理.内容包括:Map HashMap LinkedHashMap TreeHashMap HashTable ConcurrentHashMap Map Map< ...

  7. Java集合详解之Map

    一.首先看看集合框架体系图 从图中可以看到,Map接口扩展了Iterator接口,关于Iterator接口详解请移步:Iterator接口详解 二.Map是什么? Map<k,v>使用键值 ...

  8. 网络模型mAP计算实现代码

    网络模型mAP计算实现代码 一.mAP精度计算 这里首先介绍几个常见的模型评价术语,现在假设我们的分类目标只有两类,计为正例(positive)和负例(negtive)分别是: 1)True posi ...

  9. 2021年大数据常用语言Scala(二十二):函数式编程 映射 map

    目录 映射 | map 用法 案例一 案例二 映射  map 集合的映射操作是将来在编写Spark/Flink用得最多的操作,是我们必须要掌握的.因为进行数据计算的时候,就是一个将一种数据类型转换为另 ...

最新文章

  1. PTA数据结构与算法题目集(中文)7-36
  2. 在Salesforce中以PDF的格式显示对应的页面
  3. Objective-C Memory Management Being Exceptional 异常处理与内存
  4. 搭建etcd 3.4.15集群(详细教程,包括选举过程、数据备份和恢复)
  5. 高斯滤波详解 python实现高斯滤波
  6. 30+简约和平铺的WordPress复古主题
  7. 求解二叉查找树中的最低公共祖先结点
  8. Windows 环境搭建Redis集群之无脑教程
  9. UDID 和 UUID 的问题
  10. 零经验小白的独游历程——U3d学习经验与教程分享
  11. 例说STM32F7高速缓存——Cache一致性问题(三)
  12. 精约而不简单 极速迅雷只为下载而生
  13. 2023 爱蜗影视双端源码 附搭建教程
  14. Revit二次开发—载入族并交互式放置
  15. 2022-2027年中国自动体外除颤器行业发展监测及投资战略研究报告
  16. LTE 怎么从信令里提取 IMSI
  17. 【打印机】斑马打印机指令简介
  18. 攻防世界writeup——Web(持续更新)
  19. 13:Scala语言的数据结构和算法
  20. 鹏业安装算量软件界面及部分功能按钮介绍

热门文章

  1. 集成学习之Boosting
  2. 欢迎来到美多商城!-项目准备之项目介绍-项目需求分析-项目架构设计
  3. 网络应用 axIos的基本使用
  4. 防火墙产品原理与应用:NAT支持的特殊协议
  5. C语言借助两个数的大小交换,引入指针。
  6. CVPR | 让合成图像更真实,上交大提出基于域验证的图像和谐化
  7. 机器视觉检测中的图像预处理方法
  8. 深度学习100问:什么是深监督(Deep Supervision)?
  9. Windows10 搭建java环境——JDK11的安装与eclipse的安装
  10. 如何在主机win10和虚拟机(virtualbox)中的Ubuntu进行文件传输即共享文件夹的建立