#868. [CZOJ 一周一测 R9 F] Frog Balanced Tree
[CZOJ 一周一测 R9 F] Frog Balanced Tree
题目描述
小 C 得到了一棵青蛙平衡树。这棵树上有 只青蛙,有一些青蛙之间可以看作有边相连并且构成了一棵树, 号为根
我们定义两只青蛙的距离 为两只青蛙最短路径上青蛙的数量(包括两端),一只青蛙 的深度 。同时为了方便计算,我们定义青蛙 对于它的祖先青蛙 的相对深度
每只青蛙都有重量 ,因此平衡它们非常困难。青蛙 对于它的祖先 的平衡的影响值为
另外,它想知道对于 的子树,从中任选 只青蛙(假设为 )的所有 之和,记为
小 C 非常菜,所以经常需要你的帮助才能平衡,所以他会有以下操作:
- 将第 只青蛙的重量修改为
- 查询对于第 只青蛙的子树中的所有节点 的 之积
- 查询对于第 和第 只青蛙的最短路径上的每个节点 的 之积
- 查询第 只青蛙的
由于这些数可能很大,答案对 取模
输入格式
第一行两个数 ,表示青蛙数量和操作数量。
接下来一行 个数 。
接下来 行每行两个数,表示一条边。
接下来 行,每行格式为 1 i v
或 2 i
或 3 x y
或 4 i k
。
输出格式
对于每一个 操作,输出一行一个整数表示答案。
样例 #1
10 4
1 1 4 5 1 4 1 9 1 9
1 4
5 1
1 9
10 1
4 2
6 4
2 7
3 6
6 8
3 7 10
2 4
1 6 9
4 4 1
45
5184
29
提示
第一个查询:
第二个查询:$5^0\times 1^1\times 4^1\times 1^2\times 4^2\times 9^2=5184$
第三个查询:
$1\leq n,m\leq 10^5,1\leq h_i,v\leq 10^9,1\leq i,x,y\leq n,1\leq k\leq 10$
测试点编号 | 特殊性质 | |||
---|---|---|---|---|
无 | ||||
A | ||||
B | ||||
C | ||||
无 |
特殊性质 A:保证没有 操作
特殊性质 B:保证输入的树是一条链。
特殊性质 C:保证输入的树是菊花图。