Olympic chuyên KHTN 2026 - TREECOVER
Xem dạng PDFTrong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài
Cho một cây gồm ~n~ đỉnh. Với một tập hợp các đỉnh ~A \subseteq \{1, 2, ..., n\}~, gọi ~g(A)~ là giá trị ~k~ nhỏ nhất sao cho tồn tại ~k~ đường đi trên cây thỏa mãn các điều kiện sau:
Mỗi đường đi không đi qua bất kỳ cạnh nào quá một lần (đường đi đơn).
Mỗi đỉnh thuộc tập ~A~ đều được đi qua bởi ít nhất một đường đi trong tập ~k~ đường đi đó.
Ban đầu, ta có một tập hợp ~S~ rỗng. Có ~q~ truy vấn, mỗi truy vấn bao gồm một đỉnh ~u~.
Nếu ~u \in S~, thực hiện xóa ~u~ khỏi tập ~S~.
Nếu ~u \notin S~, thực hiện thêm ~u~ vào tập ~S~.
Yêu cầu: Sau mỗi truy vấn, hãy in ra giá trị ~g(S)~.
Input
Dòng đầu tiên chứa hai số nguyên dương ~n~ và ~q~ ~(n, q \le 3 \times 10^5)~.
~n-1~ dòng tiếp theo, mỗi dòng chứa hai số nguyên ~u, v~ mô tả một cạnh của cây.
~q~ dòng tiếp theo, mỗi dòng chứa một số nguyên ~u~ mô tả đỉnh được thay đổi trong tập ~S~.
Output
In ra ~q~ dòng, mỗi dòng là giá trị ~g(S)~ sau khi thực hiện truy vấn tương ứng.
Scoring
| Subtask | Điểm | Ràng buộc |
|---|---|---|
| 1 | ~20\%~ | ~n, q \le 10~ |
| 2 | ~10\%~ | ~n, q \le 3000~. Đỉnh ~1~ nối với tất cả các đỉnh còn lại |
| 3 | ~10\%~ | ~n, q \le 3000~. Đỉnh ~1~ luôn nằm trong tập ~S~ sau mọi truy vấn |
| 4 | ~10\%~ | ~n, q \le 3000~ |
| 5 | ~20\%~ | ~n, q \le 10^5~ |
| 6 | ~30\%~ | Không có điều kiện gì thêm |
Sample Input 1
3 2
1 2
2 3
1
3
Sample Output 1
1
1
Bình luận