[CROATIAN2009]OTOCI
给出 个结点以及每个点初始时对应的权值 。起始时点与点之间没有连边。有 类操作:
bridge A B:询问结点 与结点 是否连通。如果是则输出no;否则输出yes,并且在结点 和结点 之间连一条无向边。penguins A X:将结点 对应的权值 修改为 。excursion A B:如果结点 和结点 不连通,则输出impossible;否则输出结点 到结点 的路径上的点对应的权值的和。
给出 个操作,要求在线处理所有操作。
输入格式
第一行包含一个整数 ,表示结点的数目。
第二行包含 个整数,第 个整数表示第 个结点初始时对应的权值。
第三行包含一个整数 ,表示操作的数目。
以下 行,每行包含一个操作,操作的类别见题目描述。
输出格式
输出所有 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
数据范围
- ;
- ;
- ,且任意时刻每个结点对应的权值都是 到 的整数。
来源与许可
本题为 CROATIAN 2009 试题「OTOCI」,题面与测试数据整理自 BZOJ 1180。
样例 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
输出
4
impossible
yes
6
yes
yes
15
yes
15
16