7598: Jump

内存限制:524 MB 时间限制:15 S 标准输入输出
题目类型:传统 评测方式:文本比较 上传者:
提交:0 通过:0

题目描述

You are given a rooted tree with n nodes, each edge of the tree has a weight, the nodes of the tree are numbered from 1 to n , the root of the tree is rt .

You are also given an array a with n elements.

Define dep(x) as the sum of weight of edges on the simple path between rt and x .

Define fa(x) as the father of node x , especially, we define fa(rt)=rt .

There are m operations of two types:

`1 l r`: for each i that satisfies lir , ai:=fa(ai) .

`2 l r`: for each i that satisfies lir , output the minimum dep(ai) .

输入格式

The input contains several test cases, and the first line contains a single integer T , the number of test cases.

For each test case:

The first line contains three integers n,m,rt .

For the following n1 lines, each line contains three integers u,v,d , which means that there is an edge between u,v , the weight of which is d .

The next line contains n integers, the ith integer is ai .

For the following m lines, each line contains three integers opt,l,r , which means that there is a operation of type opt for l,r .

1T4 , 1n,m2105 , the weight of edge is an integer in range [0,109] .

输出格式

For each operation that opt=2 , output one line representing the answer.

输入样例 复制

4
5 1 5
2 5 4
1 5 4
3 2 1
4 2 3
3 4 3 2 5
2 3 3
6 2 1
6 1 1
2 1 1
4 2 3
5 4 2
3 2 1
2 3 6 1 2 6
2 4 6
2 3 3
5 1 5
4 5 3
2 4 2
1 4 2
3 5 3
1 1 5 2 5
2 2 2
5 4 3
2 3 1
1 2 4
5 2 2
4 5 4
1 4 1 1 4
2 2 5
1 1 5
2 2 2
1 1 4

输出样例 复制

5
0
1
5
5
3