#P6157. 有趣的游戏

有趣的游戏

题目背景

小 A 和小 B 正在玩一个有趣的电脑游戏。

题目描述

游戏在一棵大小为 nn 的树上进行。其中每个点都有点权,第 ii 个点的点权为 wiw_i

每一次系统会给出一条链,小 A 可以从这条链上找出两个点权不同的点 x,yx,y,他的得分是 wxmodwyw_x\bmod w_y。然后小 B 会从整棵树中选取两个小 A 没有选过的点,计分方式同小 A。

为了保持游戏难度,系统有时会增加一个点的权值。

当然,小 A 会尽可能使自己得分最大,他想知道这个值是多少。同时,他想知道,在自己得分最大的情况下,小 B 的最大得分是多少。

输入格式

第一行一个整数 nn 表示树的节点个数。

接下来 n1n-1 行,每行两个整数 a,ba,b,表示 a,ba,b 之间有一条边。

接下来一行 nn 个整数,第 ii 个数表示第 ii 个点的点权。

接下来一行一个整数 qq

接下来 qq 行,每行三个整数 opt,x,yopt,x,y

opt=0opt=0,将 wxw_x 增加 yy

opt=1opt=1,表示系统给出一条从 xxyy 的链。

输出格式

对于每一次 opt=1opt=1,输出一行两个整数 suma,sumbsuma,sumb 。分别表示小 A 的最大得分和在这情况下小 B 的最大得分 。

如果小 A 无法选出两个权值不同的点,那么只输出一个数 1-1

7
1 2
2 3
2 4
1 5
5 6
5 7
5 4 3 2 1 4 3
6
1 3 4
1 2 5
1 2 1
0 2 1
1 2 5
1 2 1
3 4
4 3
4 3
1 4
-1

提示

样例解释:

第一次:小 A 选择点 33 和点 22,得分为 3mod4=33\bmod 4=3,小 B 选择点 66 和点 11 得分为 4mod5=44\bmod 5=4

第二次:小 A 选择点 22 和点 11,得分为 4mod5=44\bmod 5=4,小 B 选择点 77 和点 66 得分为 3mod4=33\bmod 4=3

第三次:小 A 选择点 22 和点 11,得分为 4mod5=44\bmod 5=4,小 B 选择点 77 和点 66 得分为 3mod4=33\bmod 4=3

第四次:第 22 个点点权变为 55

第五次:小 A 选择点 55 和点 11,得分为 1mod5=11\bmod 5=1,小 B 选择点 66 和点 22 得分为 4mod5=44\bmod 5=4

第六次:小 A 可以选的点只有 1,21,2 ,点权都是 55,没有可以选的方案。

本题采用捆绑测试。 | Subtasks |n,qn,q |特殊性质 |分数 | | :----------: | :----------: | :----------: | :----------: | |Subtask1 |103\leq10^3 |无 |1010 | |Subtask2 |105\leq10^5 |树的形态,点权随机 |1515 | |Subtask3 |105\leq10^5 |最多有 55 种不同的点权,且没有修改 |1515 | |Subtask4 |105\leq10^5 |树为一条链,且第 ii(i>1)(i>1) 个点的父亲为 i1i-1 |2525 | |Subtask5 |105\leq10^5 |无 |3535 |

对于所有数据 1n,q1051 \leq n,q \leq 10^51wi1041 \leq w_i \leq 10^4,增加的数为不大于 10310^3 的正整数,且输入为一棵合法的树。保证任何时候不同种类的数大于等于 44