QOJ.ac

QOJ

時間限制: 6 s 記憶體限制: 1024 MB 總分: 100

#1163. Một bài toán truy vấn cây khác

统计

Bạn có một cây gồm $N$ đỉnh. Các đỉnh được đánh số bằng các số nguyên liên tiếp từ $1$ đến $N$, và đỉnh thứ $i$ chứa biến $A_i$. Ban đầu $A_i = 0$ ($1 \le i \le N$).

Bạn cần xử lý $Q$ truy vấn. Mỗi truy vấn thuộc một trong các loại sau:

  • “1 $u$ $v$”: Đặt gốc của cây tại đỉnh $u$, xét cây con của đỉnh $v$, và với mỗi đỉnh $i$ trong cây con của $v$, tăng $A_i$ thêm một đơn vị.
  • “2 $u$ $v$”: Với mỗi đỉnh $i$ nằm trên đường đi đơn duy nhất từ $u$ đến $v$, tăng $A_i$ thêm một đơn vị.
  • “3 $v$”: In ra $\sum_{i=1}^{N} \text{dist}(v, i) \cdot A_i$, trong đó $\text{dist}(x, y)$ là số cạnh trên đường đi từ đỉnh $x$ đến đỉnh $y$.

Dữ liệu vào

Dòng đầu tiên chứa một số nguyên $N$, số lượng đỉnh ($1 \le N \le 2 \cdot 10^5$).

$N - 1$ dòng tiếp theo chứa mô tả của cây. Mỗi dòng chứa hai số nguyên $u$ và $v$ cách nhau bởi một dấu cách, nghĩa là có một cạnh nối giữa $u$ và $v$ ($1 \le u, v \le N$). Đảm bảo rằng đồ thị thu được là một cây.

Dòng tiếp theo chứa một số nguyên $Q$, số lượng truy vấn ($1 \le Q \le 2 \cdot 10^5$).

$Q$ dòng tiếp theo chứa các truy vấn, mỗi truy vấn trên một dòng. Mỗi truy vấn được đưa ra theo một trong các định dạng mô tả ở trên ($1 \le u, v \le N$). Bạn có thể giả định rằng có ít nhất một truy vấn loại “3”.

Dữ liệu ra

Với mỗi truy vấn loại “3”, in ra kết quả trên một dòng riêng biệt.

Ví dụ

Dữ liệu vào 1

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

Dữ liệu ra 1

1
5

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.