so easy

代码实现
#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5 + 100;
unordered_map<int, int> m;
int find(int x)
{if(!m.count(x))return x;elsereturn m[x]=find(m[x]);
}
int main() {int n, q;scanf("%d%d",&n,&q);int op, x;while (q--){scanf("%d%d",&op,&x);if (op==1){m[x]=find(x+1);}else{int ans=find(x);if(ans>n) ans=-1;printf("%d\n",ans);}}return 0;
}

涉及知识盲区,积累一下

unordered_map
//需要头文件
#include<unordered_map>

map/unordered_map是一个关联容器,它按照特定顺序存储由键值和映射值的组合形成的元素;
在映射中,键值通常用于排序和唯一标识元素,而映射值存储与此键关联的内容。
map容器通常比unordered_map容器慢,以便通过键访问单个元素,但它们允许根据子集的顺序直接迭代子集。 在该映射值地图可以直接通过使用其相应的键来访问括号运算符((操作符[] )。 映射通常如实施二叉搜索树。

用insert插入
返回容器可以作为内容保存的最大元素数
m.max_size()
返回容器中的元素数量
m.size()
返回bool值,判断是否为空
m.empty()
这个end()返回的是最后一个元素的下一个地址
m.end()
从地图容器中移除单个元素或一系列元素
erase
交换两个同类型容器的内容,尺寸可以不同。
swap
删除所有元素,使容器的大小为 0
clear
计数,但是map中本身key就是唯一的,所以包含这返回1,不包含则返回0
count

map与unordered_map的区别

map: map内部实现了一个红黑树,该结构具有自动排序的功能,因此map内部的所有元素都是有序的,红黑树的每一个节点都代表着map的一个元素,因此,对于map进行的查找,删除,添加等一系列的操作都相当于是对红黑树进行这样的操作,故红黑树的效率决定了map的效率。
unordered_map: unordered_map内部实现了一个哈希表,因此其元素的排列顺序是杂乱的,无序的

so easy(并查集)相关推荐

  1. 2019ICPC(徐州) - so easy(并查集+离散化)

    题目链接:点击查看 题目大意:给出一个1~n的序列,然后给出m个操作,每个操作分为下列两种情况: 1 x:让数字x不可用 2 x:查询包括x在内的右侧的第一个可用数字 题目分析:因为n给到了1e9,而 ...

  2. The Preliminary Contest for ICPC Asia Xuzhou 2019【B. so easy】(set 解法 与正解 unordered_map+并查集)

    so easy 题目大意 给你两个操作,op=1时,将那个数不可用,op=2时进行查询功能 找到从x开始第一个存在的数 非官方题解 set 内置红黑树,有默认从小到大排序功能,所以我们可以暴力一发,不 ...

  3. zoj 3761 Easy billiards 并查集+dfs

    生活真是奇妙的东西,这样的题目居然能被联想到这样的算法,只能说智商不够啊. 这道题目的意思不解释了,月赛的时候我队友已经想出来了做法,但是我们最后还是没A. 题解: 1.首先将所有能连接的球连接起来, ...

  4. SOJ4480 Easy Problem IV (并查集)

    Time Limit: 3000 MS Memory Limit: 131072 K Description 据说 你和任何一个陌生人之间所间隔的人不会超过六个,也就是说,最多通过六个人你就能够认识任 ...

  5. 一道并查集的(坑)题:关闭农场closing the farm

    题目描述 in English: Farmer John and his cows are planning to leave town for a long vacation, and so FJ ...

  6. UVA1493 - Draw a Mess(并查集)

    UVA1493 - Draw a Mess(并查集) 题目链接 题目大意:一个N * M 的矩阵,每次你在上面将某个范围上色,不论上面有什么颜色都会被最新的颜色覆盖,颜色是1-9,初始的颜色是0.最后 ...

  7. Zjnu Stadium HDU - 304 加权并查集

    题意: 观众席围成一圈.列的总数是300,编号为1–300,顺时针计数,我们假设行的数量是无限的.将有N个人去那里.他对这些座位提出了要求:这意味着编号A的顺时针X距离坐着编号B.例如:A在第4列,X ...

  8. 树形结构 —— 并查集

    [概述] 并查集(Union-Find Set)是一种用于分离集合操作的抽象数据类型,其处理的是集合(set)之间的关系,一般处理的是图的连通分量,当给出两个的元素的一个无序对 (a,b) 时,需要快 ...

  9. 数据结构 之 并查集(Disjoint Set)

    一.并查集的概念:     首先,为了引出并查集,先介绍几个概念:     1.等价关系(Equivalent Relation)     自反性.对称性.传递性.     假设a和b存在等价关系.记 ...

  10. B - The Suspects(并查集)详解

    题目描述:n个学生分属m个团体,一个学生可以属于多个团体.一个学生疑似患病则它所属的整个团体都疑似患病.已知0号学生疑似患病,以及每个团体都由哪些学生构成,求一共多少个学生疑似患病. 解题思路:本题的 ...

最新文章

  1. 为什么indexOf在数组IE8上不起作用?
  2. Windows Server 2008中部署AD
  3. IOS上的 Audio Memos SE 如何分享和传输录音到电脑?
  4. android的窗口机制分析------ViewRoot类
  5. 本周 Github 精选:多款超赞 AI 开源项目,等你来 Star!
  6. 西北师范大学地理与环境科学学院考研真题汇总(自然地理学)持续更新。。。
  7. mysql怎么禁止远程连接_mysql如何设置禁止远程连接
  8. 吴恩达机器学习 12.异常检测
  9. android之app自动启动
  10. EMNLP'21 | 基于稀疏子网络的领域迁移
  11. opencv图像分析与处理(15)- 图像压缩中的编码方法:霍夫曼编码、Golomb编码、Rice编码、算术编码及其实现
  12. Python 读取/保存 图片,发现有色差,可以怎么解决了?
  13. Word设置子标题跟随上级标题变化
  14. 网线制作IP组网(基于华为eNSP模拟器)
  15. mysql spatial索引_空间索引Spatial Indexing
  16. 实验物理与工业控制系统---EPICS
  17. python批量图像处理_python图像处理(4)之图像批量处理
  18. 纳滤膜让蔗糖精制废水回收变得简单
  19. 计算机系歌,科学网—计算机之歌 - 刘钢的博文
  20. java论坛怎么屏蔽脏话,又见牛人!Python写各大聊天系统屏蔽脏话功能……

热门文章

  1. c语言next函数定义,c语言的数据结构中,next是如何指向下一个元素的?
  2. 数据库分片以及schema概念
  3. Android 版本对应 Version Code
  4. html5 报表erp案例,SpreadJS 纯前端表格控件应用案例:集成 Odoo 提升企业ERP表格功能...
  5. 在Python中将图像转换为ASCII字符图
  6. 我感觉被骗了,微信内测 “大小号” 功能,同一手机号可注册两个微信
  7. 【翻译】关于ADXL345连接指南
  8. 数据中心常说的IDC,EDC,ODC,DC分别指什么类型机房?
  9. 15 个为编程初学者准备的网站
  10. 论文笔记 EMNLP 2018|Jointly Multiple Events Extraction via Attention-based Graph Information Aggregation