6830.Path Queries II

Time Limit: 1s Memory Limit: 512MB

You are given a tree consisting of $n$ nodes. The nodes are numbered $1,2,\ldots,n$ . Each node has a value.

Your task is to process following types of queries:

change the value of nodestoxfind the maximum value on the path between nodesaandb.

Input Format(From the terminal/stdin)

The first input line contains two integers $n$ and $q$ : the number of nodes and queries. The nodes are numbered $1,2,\ldots,n$ .

The next line has $n$ integers $v_1,v_2,\ldots,v_n$ : the value of each node.

Then there are $n-1$ lines describing the edges. Each line contains two integers $a$ and $b$ : there is an edge between nodes $a$ and $b$ .

Finally, there are $q$ lines describing the queries. Each query is either of the form "1 $s$ $x$ " or "2 $a$ $b$ ".

  • $1 \le n, q \le 2 \cdot 10^5$
  • $1 \le a,b, s \le n$
  • $1 \le v_i, x \le 10^9$

Output Format(To the terminal/stdout)

Print the answer to each query of type 2.

Sample Input

Copy
5 3
2 4 1 3 3
1 2
1 3
2 4
2 5
2 3 5
1 2 2
2 3 5
 · \n
 · · · · \n
 · \n
 · \n
 · \n
 · \n
 · · \n
 · · \n
 · · \n

Sample Output

Copy
4 3
 · \n
Source: CSES, Tree Algorithms, 2134

Submit

请先 登录

© 2025 FAQs