Chọn ĐTQG PTNK 2026 - Cặp ghép trên cây

Xem dạng PDF

Gửi bài giải

Điểm: 140,00 (OI)
Giới hạn thời gian: 2.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Cho một cây gồm ~N~ đỉnh được đánh số từ ~1~ đến ~N~. Ban đầu cây có đúng ~N-1~ cạnh. Sau một số thao tác xóa cạnh, đồ thị có thể trở thành một rừng gồm nhiều thành phần liên thông.

Bạn cần xử lý ~Q~ truy vấn thuộc hai loại:

  • 1 u v: Đảo trạng thái của cạnh ~(u,v)~. Nếu cạnh đang tồn tại thì xóa cạnh; nếu cạnh đang bị xóa thì thêm cạnh trở lại. Dữ liệu đảm bảo ~(u,v)~ là một cạnh của cây ban đầu.

  • 2 x: Xét thành phần liên thông hiện tại chứa đỉnh ~x~. Hãy tìm số cạnh lớn nhất có thể chọn trong thành phần này sao cho không có hai cạnh được chọn nào chung một đầu mút.

Input

  • Dòng đầu tiên chứa số nguyên ~N~ ~(1 \le N \le 3 \cdot 10^5)~.

  • Với mỗi ~u~ từ ~1~ đến ~N~, dòng thứ ~u~ trong ~N~ dòng tiếp theo bắt đầu bằng số nguyên ~deg_u~, sau đó là ~deg_u~ số nguyên liệt kê các đỉnh kề với ~u~ trong cây ban đầu. Mỗi cạnh của cây xuất hiện trong danh sách kề của cả hai đầu mút.

  • Dòng tiếp theo chứa số nguyên ~Q~ ~(1 \le Q \le 3 \cdot 10^5)~.

  • Mỗi dòng trong ~Q~ dòng tiếp theo chứa một truy vấn theo một trong hai dạng đã mô tả.

Output

Với mỗi truy vấn loại ~2~, in ra một dòng chứa kích thước cặp ghép lớn nhất của thành phần liên thông tương ứng.

Scoring

Subtask Điểm Ràng buộc
1 ~20\%~ ~N, Q \le 100~
2 ~20\%~ Mọi đỉnh của cây ban đầu có bậc không quá ~2~
3 ~20\%~ ~Q = 1~ và truy vấn duy nhất thuộc loại ~2~
4 ~40\%~ ~N, Q \le 3 \cdot 10^5~

Sample Input 1

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

Sample Output 1

3
1
2
0

Notes

Ban đầu có thể chọn ba cạnh ~(1,2)~, ~(3,4)~ và ~(5,6)~.

Sau khi xóa cạnh ~(3,5)~, thành phần chứa đỉnh ~6~ chỉ gồm cạnh ~(5,6)~, nên đáp án là ~1~. Thành phần chứa đỉnh ~1~ có thể chọn hai cạnh ~(1,2)~ và ~(3,4)~.

Cuối cùng, cạnh ~(3,5)~ được thêm lại và cạnh ~(1,2)~ bị xóa. Đỉnh ~2~ trở thành một thành phần chỉ có một đỉnh nên đáp án bằng ~0~.


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.