题目名称 1341. [HNOI 2012] 永无乡
输入输出 bzoj_2733.in/out
难度等级 ★★★☆
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 10
题目来源 GravatarQhelDIV 于2013-04-03加入
开放分组 全部用户
提交状态
分类标签
分享题解
通过:168, 提交:319, 通过率:52.66%
Gravatar真呆菌 100 0.562 s 15.38 MiB C++
GravatarYoungsc 100 0.682 s 2.02 MiB C++
GravatarHale 100 0.701 s 23.40 MiB C++
Gravatar落痕 100 0.708 s 2.02 MiB C++
Gravatarhzoi2017_nzy 100 0.715 s 1.83 MiB C++
GravatarAAAAAAAAAA 100 0.718 s 24.73 MiB C++
Gravatarzhhe0101 100 0.726 s 5.65 MiB C++
Gravatar... 100 0.737 s 2.58 MiB C++
Gravatarniconicoqaq 100 0.749 s 4.51 MiB C++
Gravatar半汪 100 0.755 s 2.99 MiB C++
本题关联比赛
随便比赛
并查集专题
关于 永无乡 的近10条评论(全部评论)
注意动态开点要开 $nlogn$ 空间
Gravatar┭┮﹏┭┮
2024-01-31 14:06 27楼
启发式合并awa
Gravataryrtiop
2022-02-04 23:20 26楼
pd_ds牛逼
GravatarHale
2019-08-27 23:35 25楼
启发式的Splay跑的貌似有点慢
好吧 ,我的SB线段树更慢(雾
GravatarHT008
2018-03-23 10:26 24楼
线段树合并
GravatarAAAAAAAAAA
2018-01-17 18:56 23楼
线段树合并可以做到O(nlogV)的时间空间复杂度……
终于掌握了Treap的合并算法
GravatarFoolMike
2017-08-24 11:23 22楼
GravatarAntiLeaf
2017-05-25 16:03 21楼
好惨好惨……
调了一天……结果发现一个转的方向错了……身败名裂……
GravatarHZOI_蒟蒻一只
2017-05-25 08:49 20楼
并查集 + BST直接过
GravatarWeiSama
2017-03-12 10:24 19楼
向量数组不能用int&,否则会返回错误位置。
GravatarFoolMike
2016-12-12 16:14 18楼

1341. [HNOI 2012] 永无乡

★★★☆   输入文件:bzoj_2733.in   输出文件:bzoj_2733.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】

永无乡包含 $n$ 座岛,编号从 $1$ 到 $n$,每座岛都有自己的独一无二的重要度,按照重要度可 以将这 $n$ 座岛排名,名次用 $1$ 到 $n$ 来表示。某些岛之间由巨大的桥连接,通过桥可以从一个岛到达另一个岛。如果从岛 $a$ 出发经过若干座(含 $0$ 座)桥可以到达岛 $b$,则称岛 $a$ 和岛 $b$ 是连通的。现在有两种操作:$B\ x\ y$ 表示在岛 $x$ 与岛 $y$ 之间修建一座新桥。$Q\ x\ k$ 表示询问当前与岛 $x$ 连通的所有岛中第 $k$ 重要的是哪座岛,即所有与岛 $x$ 连通的岛中重要度排名第 $k$ 小的岛是哪座,请你输出那个岛的编号。

【输入格式】

输入文件第一行是用空格隔开的两个正整数 $n$ 和 $m$,分别 表示岛的个数以及一开始存在的桥数。接下来的一行是用空格隔开的 $n$ 个数,依次描述从岛 $1$ 到岛 $n$ 的重要度排名。随后的 $m$ 行每行是用空格隔开的两个正整数 $a_i$ 和 $b_i$,表示一开始就存 在一座连接岛 $a_i$ 和岛 $b_i$ 的桥。后面剩下的部分描述操作,该部分的第一行是一个正整数 $q$, 表示一共有 $q$ 个操作,接下来的 $q$ 行依次描述每个操作,操作的格式如上所述,以大写字母 $Q$ 或 $B$ 开始,后面跟两个不超过 $n$ 的正整数,字母与数字以及两个数字之间用空格隔开。

【输出格式】

对于每个 $Q\ x\ k$ 操作都要依次输出一行,其中包含一个整数,表示所询问岛屿的编号。如果该岛屿不存在,则输出 $-1$。

【样例输入】

5 1
4 3 2 5 1
1 2
7
Q 3 2
Q 2 1
B 2 3
B 1 5
Q 2 1
Q 2 4
Q 2 3

【样例输出】

-1
2
5
1
2

【提示】

对于 20% 的数据 $n\le 1000$,$q\le 1000$。

对于 100% 的数据 $n\le 100000$,$m\le n$,$q\le 300000$。