CSES - Subtree Queries

Nộp bài
Time limit: 1.0 / Memory limit: 512M

Point: 100

You are given a rooted tree consisting of ~n~ nodes. The nodes are numbered ~1,2,\ldots,n~, and node ~1~ is the root. Each node has a value.

Your task is to process following types of queries:

  1. change the value of node ~s~ to ~x~
  2. calculate the sum of values in the subtree of node ~s~

Input

  • 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 contans 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 ~s~".

Output

  • Print the answer to each query of type 2.

Constraints

  • ~1 \le n, q \le 2 \cdot 10^5~
  • ~1 \le a,b, s \le n~
  • ~1 \le v\_i, x \le 10^9~

Example Input

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

Example Output

8
10

CSES - Path Queries

Nộp bài
Time limit: 1.0 / Memory limit: 512M

Point: 100

You are given a rooted tree consisting of ~n~ nodes. The nodes are numbered ~1,2,\ldots,n~, and node ~1~ is the root. Each node has a value.

Your task is to process following types of queries:

  1. change the value of node ~s~ to ~x~
  2. calculate the sum of values on the path from the root to node ~s~

Input

  • 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 ~s~".

Output

  • Print the answer to each query of type 2.

Constraints

  • ~1 \le n, q \le 2 \cdot 10^5~
  • ~1 \le a,b, s \le n~
  • ~1 \le v\_i, x \le 10^9~

Example Input

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

Example Output

11
8

CSES - Distinct Colors

Nộp bài
Time limit: 1.0 / Memory limit: 512M

Point: 100

You are given a rooted tree consisting of ~n~ nodes. The nodes are numbered ~1,2,\ldots,n~, and node ~1~ is the root. Each node has a color.

Your task is to determine for each node the number of distinct colors in the subtree of the node.

Input

  • The first input line contains an integer ~n~: the number of nodes. The nodes are numbered ~1,2,\ldots,n~.
  • The next line consists of ~n~ integers ~c\_1,c\_2,\ldots,c\_n~: the color 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~.

Output

  • Print ~n~ integers: for each node ~1,2,\ldots,n~, the number of distinct colors.

Constraints

  • ~1 \le n \le 2 \cdot 10^5~
  • ~1 \le a,b \le n~
  • ~1 \le c\_i \le 10^9~

Example Input

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

Example Output

3 1 2 1 1

Cũng Là Truy Vấn Cây Con

Nộp bài
Time limit: 0.5 / Memory limit: 256M

Point: 100


Cập Nhật Cây Con

Nộp bài
Time limit: 0.5 / Memory limit: 256M

Point: 100


Tổ Tiên Chung Gần Gốc Nhất

Nộp bài
Time limit: 0.5 / Memory limit: 256M

Point: 100


Truy Vấn Trên Cây

Nộp bài
Time limit: 0.5 / Memory limit: 256M

Point: 100