【模板】map入门
map
在数据特别庞大,数组已经满足不了的某些情况下codevs p1230,可以用上map;
我们可以将map容器作为一个有序的映射表,看作为一个下表可以是任意类型的数组;
map是一个红黑树,单次操作的时间o(lgn);
使用
- 定义map
map<类型1,类型2>变量名
map<string,int>ma //定义ma
ma["abc"]=2 //将"abc"映射在2上
cout<<ma["abc"]<<endl; //输出2
- 操作
operator[] | 访问map中的元素,若该元素不存在,将创建一个新元素,并将该元素映射到类型2的初始值上 |
ma.begin() | 返回map中第一个元素的迭代器(指针) |
ma.end() | 返回map中最后一个元素的迭代器(指针) |
ma.size() | 返回map中元素个数 |
ma.cout(element) | 若map中存在element,返回1,否则返回0 |
ma.clear() | 初始化map |
ma.lower_bound() | 返回大于等于给定元素的第一个位置 |
模板题
题目描述
给出n个正整数,然后有m个询问,每个询问一个整数,询问该整数是否在n个正整数中出现过。
输入输出
input
第一行两个整数 n 和m。
第二行n个正整数(1<=n<= 100000)
第三行m个整数(1<=m<=100000)
output
一共m行,若出现则输出YES,否则输出NO
样例
4 2 2 1 3 4 1 9
输出
YES
NO
数据范围
不超过10^8
代码
#include<cstdio>
#include<map>
using namespace std;
map<int,int> ma;
int n,m;
int main() {
scanf("%d%d",&n,&m);
for(int i=1; i<=n; i++) {
int w; //读入与编号
scanf("%d",&w);
ma[w]=i;
}
for(int i=1; i<=m; i++) {
int w;
scanf("%d",&w);
if(ma.count(w)) printf("%s\n","YES");
else printf("%s\n","NO");//寻找当中是否有这个数
}
}
【模板】map入门的更多相关文章
- 【Ecmall】ECMall2.x模板制作入门系列(认识ECMall模板)
ECMall2.x模板制作入门系列之1(认识ECMall模板) 从ECMall2.0全新架构发布以来,随着版本的不断更新,ECMall已经逐渐走向一个稳定时期,是时候整理一些实用教程了.下面给大家带来 ...
- Source Map入门教程
部署前端之前,开发者通常会对代码进行打包压缩,这样可以减少代码大小,从而有效提高访问速度.然而,压缩代码的报错信息是很难Debug的,因为它的行号和列号已经失真.这时就需要Source Map来还原真 ...
- ECMall2.x模板制作入门系列之2(模板标签/语法)
ECMall2.x模板制作入门系列之2(模板标签/语法) 今天给大家带来一个模板语法的教程.希望能为ECMall模板制作者提供一份参考资料.如有问题.建议和意见,欢迎提出. 在ECMall模板中,用& ...
- SpringBoot集成beetl模板快速入门
SpringBoot集成beetl模板快速入门 首次探索 beetl官方网址:http://ibeetl.com/ 创建SpringBoot工程(idea) 新建工程 选择创建Spring工程 书写包 ...
- Java中的映射Map - 入门篇
前言 大家好啊,我是汤圆,今天给大家带来的是<Java中的映射Map - 入门篇>,希望对大家有帮助,谢谢 简介 前面介绍了集合List,这里开始简单介绍下映射Map,相关类如下图所示 正 ...
- Vue.js——60分钟webpack项目模板快速入门
概述 browserify是一个 CommonJS风格的模块管理和打包工具,上一篇我们简单地介绍了Vue.js官方基于browserify构筑的一套开发模板.webpack提供了和browserify ...
- Velocity模板引擎入门
类似于PHP中的Smarty,Velocity是一个基于Java的模板引擎(template engine).它允许任何人仅仅简单的使用模板语言(template language)来引用由java代 ...
- Beetl模板引擎入门教程
最近项目中有个邮件发送的需求,不过要求发送的HTML格式的邮件.由于Beetl对java语言的良好支持和很好的性能,我们决定使用Beetl作为我们的模板引擎. Beetl官网已经有了很详细的教程,所以 ...
- Vue.js——60分钟webpack项目模板快速入门
概述 browserify是一个 CommonJS风格的模块管理和打包工具,上一篇我们简单地介绍了Vue.js官方基于browserify构筑的一套开发模板.webpack提供了和browserify ...
随机推荐
- Jenkins+Git的搭建和自动部署
前言 Jenkins在工作中都使用过,之前都是运维去搭建部署,弄好了之后给我一个网址去构建项目就可以了,所以也都是一直没了解过安装过程. 今天在自己的服务器上搭建了一遍,中间有遇到很多坑,特在此归纳总 ...
- Redis6.x学习笔记(二)持久化之RDB
前言 最近学习Redis6.x,特做笔记以备忘,与大家共学.课程是从私塾在线下载的,他们把架构师课程都放出来了,大家可以去下载学习,不要钱的,地址是http://t.hk.uy/eK7,课程很不错,值 ...
- stm32开发笔记(二):stm32系列使用V3.5固件库的帮助文件以及GPIO基本功能(一)
前言 stm32系列是最常用的单片机之一,不同的版本对应除了引脚.外设.频率.容量等'不同之外,其开发的方法是一样的. 本章讲解使用库函数使用GPIO引脚功能. 补充 本文章为多年前学习 ...
- mysql order by 多样依照排序
如果先按a排序升序,a相同时按b降序排序 则order by a,b desc
- goland:调试
弹出框f9 会跳转到下一个断点
- [刷题] 257 Binary Tree Paths
要求 给定一棵二叉树,返回所有表示从根节点到叶子节点路径的字符串 示例 ["1->2->5","1->3"] 思路 递归地返回左右子树到叶子节 ...
- QT相关书籍
文章转载自:http://www.cctry.com/thread-290005-1-1.html 最近一段时间,陆陆续续给大家更新了不少基于Qt开发的不错的书籍,可以说每本都不错.不过放在这一堆大家 ...
- HEX与ASCII之间装换
static const char bcd_ascll[20]={0x30,0x31,0x32,0x33,0x34, 0x35,0x36,0x37,0x38,0x39, ...
- 安装JDK 常见错误解决(Day_07)
在cmd中输入java -version或者java 或出现以下错误: 原因一:可能是你的JDK装的时间比较早,导致环境变量中的Path(此电脑->右击属性->高级系统设置->环境变 ...
- Redis学习笔记七:主从集群
单机,单节点,单实例的Redis会有什么问题呢? 容易导致单点故障,那么如何解决呢? 可以通过主备方式 同时可以实现读写分离 这里的每个节点是全量的,镜像的. 单节点的容量有限而且单点的压力比较大,如 ...