[COI2009] OTOCI
题目背景
注:本题原题通过**交互**的形式强制在线。但是在本题您不需要考虑交互的问题。
题目描述
不久之前,Mirko 建立了一个旅行社,名叫“极地之梦”。这家旅行社在北极附近购买了 $n$ 座冰岛,并且提供观光服务。
当地最受欢迎的当然是帝企鹅了,这些小家伙经常成群结队的游走在各个冰岛之间。Mirko 的旅行社遭受一次重大打击,以至于观光游轮已经不划算了。旅行社将在冰岛之间建造大桥,并用观光巴士来运载游客。
Mirko 希望开发一个电脑程序来管理这些大桥的建造过程,以免有不可预料的错误发生。这些冰岛从1到N标号。一开始时这些岛屿没有大桥连接,并且所有岛上的帝企鹅数量都是知道的。每座岛上的企鹅数量虽然会有所改变,但是始终在 $[0, 1000]$ 之间。你的程序需要处理以下三种命令:
- `bridge u v`:询问结点 $u$ 与结点 $v$ 是否连通。如果是则输出 `no`;否则输出 `yes`,并且在结点 $u$ 和结点 $v$ 之间连一条无向边。
- `penguins u x`:将结点 $u$ 对应的权值 $w_u$ 修改为 $x$。
- `excursion u v`:如果结点 $u$ 和结点 $v$ 不连通,则输出 `impossible`。否则输出结点 $u$ 到结点 $v$ 的路径上的点对应的权值的和。
共有 $q$ 个操作。
输入输出格式
输入格式
第一行包含一个整数 $n$,表示节点的数目。
第二行包含 $n$ 个整数,第 $i$ 个整数表示第 $i$ 个节点初始时的权值 $w_i$。
第三行包含一个整数 $q$,表示操作的数目。
以下 $q$ 行,每行包含一个操作,操作的类别见题目描述。
输出格式
输出所有 `bridge` 操作和 `excursion` 操作对应的输出,每个一行表示答案。
输入输出样例
输入样例 #1
5
4 2 4 5 6
10
excursion 1 1
excursion 1 2
bridge 1 2
excursion 1 2
bridge 3 4
bridge 3 5
excursion 4 5
bridge 1 3
excursion 2 4
excursion 2 5
输出样例 #1
4
impossible
yes
6
yes
yes
15
yes
15
16
输入样例 #2
6
1 2 3 4 5 6
10
bridge 1 2
bridge 2 3
bridge 4 5
excursion 1 3
excursion 1 5
bridge 3 4
excursion 1 5
penguins 3 10
excursion 1 3
bridge 1 5
输出样例 #2
yes
yes
yes
6
impossible
yes
15
13
no
说明
【数据范围】
对于 $100\%$ 的数据,$1 \le n \le 3 \times 10^4$,$1 \le q \le 3\times 10^5$, $0 \le w_i \le 1000$。