#P9399. 「DBOI」Round 1 人生如树

    ID: 8383 远端评测题 2000ms 512MiB 尝试: 0 已通过: 0 难度: 6 上传者: 标签>倍增二分O2优化树链剖分树论哈希, hash

「DBOI」Round 1 人生如树

题目背景

永远这么酷 永远永远这么酷
像个冒险家一样 不断探着山顶的路
——《Hustle》

张均好望着窗外,朱芝心走过来坐在他旁边,折了一架纸飞机飞出去。他对张均好说,要带着对未来的期待,往前走,别回头。

正如 命运 所述,每个人的人生都是一棵树。它总在无限的随机与缘分中伸展,有的枝丫茂盛了,有些却也不可避免地枯萎。

题目描述

朱芝心用魔法得到了张均好的人生树。

这是一棵 nn 个节点的树,节点 ii 上有权值 wiw_i

朱芝心想要观测 mm 次张均好的人生:

当前张均好人生树上的节点数量为 ss

  1. 输入四个整数 u1,v1,u2,v2u_1,v_1,u_2,v_2。令 u1v1u_1\to v_1 的简单路径上顺次组成的数组为 aau2v2u_2\to v_2 的简单路径上顺次组成的数组为 bb。朱芝心认为张均好这两段人生的相似度是 LRP(a,b)LRP(a,b),希望你求出它。保证 1u1,v1,u2,v2s1\leq u_1,v_1,u_2,v_2 \leq s

  2. 输入两个整数 u,wu,w'。朱芝心观测到了张均好的另外一种可能,因此你需要新建一个点权为 ww' 的节点,编号为 s+1s+1,建立一条 (s+1,u)(s+1,u) 的无向边,其中 usu\leq s。显然,此后 ss+1s\leftarrow s+1

对于两个数组 a,ba,b,设它们的相似度 LRP(a,b)LRP(a,b) 表示最大的 ii 满足 imin{a,b}i\leq \min\{|a|, |b|\}对于所有 1ji1\leq j\leq i,都有 bj=aj+jb_j=a_j+j。其中 a|a| 表示数组 aa 的长度。特殊地,若不存在这样的 ii,则 LRP(a,b)=0LRP(a,b) = 0

输入格式

第一行三个正整数 n,m,idxn,m,idx,分别表示树的节点数量,操作数量和该测试点所在 Subtask 编号。对于样例,有 idx=0idx = 0

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

接下来 n1n - 1 行,每行两个正整数 ui,viu_i,v_i,表示有一条 (ui,vi)(u_i,v_i) 的无向边。

接下来 mm 行,每行一个操作。每行第一个整数是 optopt,后面的若干整数表示操作的具体内容。opt=1opt=1 时表示是操作 11opt=2opt=2 时表示是操作 22

输出格式

对于每个操作 11,输出一行,表示当前询问的 LRP(a,b)LRP(a, b)

9 3 0
7 3 2 4 6 5 5 3 7
1 2
2 3
2 4
4 5
4 6
1 7
7 8
7 9
2 9 10
1 3 5 8 10
1 3 6 8 10
4
3
13 5 0
15 12 9 11 5 6 16 14 15 10 12 1 2
7 8
5 6
2 9
1 2
4 5
8 2
9 10
2 3
10 11
3 4
3 13
3 12
1 1 6 7 11
1 12 12 13 13
2 1 10
2 2 11
1 14 14 15 15
6
1
1

提示

样例解释

对于样例一,第一个操作结束后,w10=10w_{10}=10,树如图所示:

  • 对于第二个操作,第一条路径为 32453\to 2\to 4\to 5,故 a={2,3,4,6}a=\{2, 3, 4, 6\},第二条路径为 879108\to 7\to 9\to 10,故 b={3,5,7,10}b=\{3, 5, 7, 10\},由于 3=2+13=2+15=3+25=3+27=4+37=4+310=6+410=6+4,所以答案为 44
  • 对于第三个操作,a={2,3,4,5}a=\{2, 3, 4, 5\}b={3,5,7,10}b=\{3, 5, 7, 10\},由于 3=2+13=2+15=3+25=3+27=4+37=4+3105+410\ne 5+4,所以答案为 33

对于样例二,初始的树如图所示:

Subtask nn \le mm \le 特殊性质 分值
Subtask 1 50005000 1010
Subtask 2 10510^5 5×1045\times{10}^4 A & B 3030
Subtask 3 B
Subtask 4 5×1045 \times {10}^4 2020
Subtask 5 10510^5 1010

特殊性质 A:vi=ui+1v_i=u_i+1

特殊性质 B:保证无操作 2。

对于 100%100\% 的数据,1n,m1051\leq n,m\leq 10^51wi,w1061\leq w_i,w'\leq 10^61ui,vin1\leq u_i,v_i\leq n