PreVOI 2024 - Contest 1 - Đường kính
Xem dạng PDF
Gửi bài giải
Điểm:
60,00 (OI)
Giới hạn thời gian:
2.0s
Giới hạn bộ nhớ:
1G
Input:
stdin
Output:
stdout
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT
Trong 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
Gọi khoảng cách giữa hai đỉnh ~u, v~ trên cây là số cạnh ít nhất cần đi qua để đi từ ~u~ đến ~v~. Đường kính của một tập đỉnh là khoảng cách xa nhất giữa hai đỉnh trong tập đó.
Bạn được cho ~Q~ truy vấn, truy vấn thứ ~i~ gồm một số nguyên ~v_i~ tương ứng với việc xoá đỉnh ~v_i~ thuộc tập ~A~, và thêm đỉnh ~v_i~ vào tập ~B~.
Yêu cầu: Hãy đưa ra đường kính của tập đỉnh ~A~ và tập đỉnh ~B~ sau mỗi truy vấn.
Input
- Dòng đầu tiên chứa hai số nguyên tương ứng là số đỉnh ~N~ (~1 \le N \le 4 \times 10^5~) của cây đồ thị và số truy vấn ~Q~ (~1 \le Q < N~).
- ~N - 1~ dòng tiếp theo, mỗi dòng chứa hai số nguyên ~a, b~ (~1 \le a, b \le N~) tương ứng là hai đỉnh có cạnh nối với nhau trên cây.
- ~Q~ dòng cuối cùng, dòng thứ ~i~ là số nguyên ~v_i~ (~1 \le v_i \le N~) tương ứng với truy vấn thứ ~i~. Dữ liệu đảm bảo các ~v_i~ là phân biệt.
Output
- Ghi kết quả trên ~Q~ dòng, dòng thứ ~i~ chứa hai số nguyên tương ứng là đường kính của tập ~A~ và đường kính của tập ~B~ sau truy vấn thứ ~i~.
Sample Input 1
5 4
1 2
2 4
1 3
3 5
2
1
4
3
Sample Output 1
4 0
4 1
1 2
0 3
Bình luận