Chọn ĐTQG PTNK 2026 - Cặp ghép trên cây
Xem dạng PDFCho 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