#P4312. [COI2009] OTOCI

    ID: 3243 远端评测题 1000ms 125MiB 尝试: 0 已通过: 0 难度: 6 上传者: 标签>2009并查集O2优化树链剖分树剖Link-Cut TreeLCTCOCI

[COI2009] OTOCI

题目背景

注:本题原题通过交互的形式强制在线。但是在本题您不需要考虑交互的问题。

题目描述

不久之前,Mirko 建立了一个旅行社,名叫“极地之梦”。这家旅行社在北极附近购买了 nn 座冰岛,并且提供观光服务。

当地最受欢迎的当然是帝企鹅了,这些小家伙经常成群结队的游走在各个冰岛之间。Mirko 的旅行社遭受一次重大打击,以至于观光游轮已经不划算了。旅行社将在冰岛之间建造大桥,并用观光巴士来运载游客。

Mirko 希望开发一个电脑程序来管理这些大桥的建造过程,以免有不可预料的错误发生。这些冰岛从1到N标号。一开始时这些岛屿没有大桥连接,并且所有岛上的帝企鹅数量都是知道的。每座岛上的企鹅数量虽然会有所改变,但是始终在 [0,1000][0, 1000] 之间。你的程序需要处理以下三种命令:

  • bridge u v:询问结点 uu 与结点 vv 是否连通。如果是则输出 no;否则输出 yes,并且在结点 uu 和结点 vv 之间连一条无向边。
  • penguins u x:将结点 uu 对应的权值 wuw_u 修改为 xx
  • excursion u v:如果结点 uu 和结点 vv 不连通,则输出 impossible。否则输出结点 uu 到结点 vv 的路径上的点对应的权值的和。

共有 qq 个操作。

输入格式

第一行包含一个整数 nn,表示节点的数目。

第二行包含 nn 个整数,第 ii 个整数表示第 ii 个节点初始时的权值 wiw_i

第三行包含一个整数 qq,表示操作的数目。

以下 qq 行,每行包含一个操作,操作的类别见题目描述。

输出格式

输出所有 bridge 操作和 excursion 操作对应的输出,每个一行表示答案。

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
4
impossible
yes
6
yes
yes
15
yes
15
16
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
yes
yes
yes
6
impossible
yes
15
13
no

提示

【数据范围】
对于 100%100\% 的数据,1n3×1041 \le n \le 3 \times 10^41q3×1051 \le q \le 3\times 10^5, 0wi10000 \le w_i \le 1000