#P3787. 冰精冻西瓜

    ID: 2720 远端评测题 900ms 125MiB 尝试: 0 已通过: 0 难度: 5 上传者: 标签>模拟线段树树状数组洛谷原创Special Judge

冰精冻西瓜

题目背景

盛夏,冰之妖精琪露诺发现了一大片西瓜地,终于可以吃到美味的冻西瓜啦。

题目描述

琪露诺是拥有操纵冷气程度的能力的妖精,一天她发现了一片西瓜地。这里有 nn 个西瓜,由 n1n-1 条西瓜蔓连接,形成一个有根树,琪露诺想要把它们冷冻起来慢慢吃。

这些西瓜蔓具有神奇的性质,可以将经过它的冷气的寒冷程度放大或缩小,每条西瓜蔓放大/缩小冷气寒冷程度的能力值为 wiw_i,表示冷气经过它后,寒冷程度值 xx 会变为 x×wi x\times w_i。每个西瓜也有一个寒冷程度值,炎热的夏日,所有西瓜的寒冷程度值初始都为 00

琪露诺会做出两种动作:

①.对着西瓜 ii 放出寒冷程度为 xx 的冷气。这股冷气顺着西瓜蔓向“西瓜树”的叶子节点蔓延,冷气的寒冷程度会按照上面的规则变化。遇到一个西瓜连了多条西瓜蔓时,每条叶子节点方向的西瓜蔓均会获得与原先寒冷程度相等的冷气。途径的所有西瓜的寒冷程度值都会加上冷气的寒冷程度值。

冷气只会向释放点的子树蔓延,不会向根方向蔓延

⑨.向你询问西瓜 ii 的寒冷程度值是多少。

等等,为什么会有⑨?因为笨蛋琪露诺自己也会忘记放了多少冰呢。

所以,帮她计算的任务就这么交给你啦。

输入格式

第一行一个整数 nn,表示西瓜的数量。

西瓜编号为 1n1\sim n11 为这棵“西瓜树”的根。

接下来 n1n-1 行,每行有两个整数 uuvv 和一个实数 ww,表示西瓜 uu 和西瓜 vv 之间连接有一条藤蔓,它放大/缩小冷气寒冷程度的能力值为 ww

接下来一行一个整数 mm,表示操作的数量。

接下来 mm 行,每行两个或三个整数。

第一个数只能是 1199

如果为 11,接下来一个整数 ii 和一个实数 xx,表示对西瓜 ii 放出寒冷程度为 xx 的冷气。

如果为 99,接下来一个整数 ii,表示询问编号为 ii 的西瓜的寒冷程度值。

输出格式

对于每个操作⑨,输出一行一个实数,表示对应西瓜的寒冷程度值。

4
1 2 1.00000000
2 3 0.00000000
3 4 1.00000101
9
1 1 3.00000000
9 2
9 3
1 2 1.42856031
9 4
9 2
1 3 4.23333333
9 2
9 4
3.00000000
0.00000000
0.00000000
4.42856031
4.42856031
4.23333761

提示

子任务可能出现如下的特殊性质:

“西瓜树”退化为一条链

输入数据中的实数均保留8位小数,选手的答案被判作正确当且仅当输出与标准答案误差不超过10^-7。请特别注意浮点数精度问题。

实际数据中,冷气的寒冷程度x的范围为 [-0.1,0.1]

(样例中的冷气寒冷程度的范围为[1,5])

命题人:orangebird,鸣谢oscar。