Editorial for Cây cân đối
Remember to use this editorial only when stuck, and not to copy-paste code from it. Please be respectful to the problem author and editorialist.
Submitting an official solution before solving the problem yourself is a bannable offence.
Submitting an official solution before solving the problem yourself is a bannable offence.
Author:
Trung tâm của cây (Center of Tree) được định nghĩa là đỉnh (trong trường hợp đường kính là số chẵn) hoặc cạnh (trong trường hợp đường kính là số lẻ) nằm chính giữa trên đường nối dài nhất giữa hai đỉnh của cây. Trong hình sau, đỉnh hoặc cạnh được tô màu xanh là trung tâm của cây:
Dễ dàng thấy rằng, với là đường kính của cây, khi đó khoảng cách tối đa từ trung tâm của cây đến một đỉnh bất kỳ là . Từ đó, ta có phương pháp giải quyết bài toán này như sau:
- Với chẵn, xét với mỗi đỉnh (), chọn đỉnh làm trung tâm của cây. Tiến hành đếm số lượng đỉnh cần xóa bằng cách tính khoảng cách từ đỉnh trung tâm đến tất cả các đỉnh khác (đỉnh cần xóa có khoảng cách đến đỉnh trung tâm lớn hơn ).
- Với lẻ, xét với mỗi cạnh (), chọn cạnh làm trung tâm của cây. Tiến hành đếm số lượng đỉnh cần xóa bằng cách tính khoảng cách từ cạnh trung tâm đến tất cả các đỉnh khác (đỉnh cần xóa có khoảng cách đến cạnh trung tâm lớn hơn ).
Đáp án của bài toán là số lượng đỉnh cần xóa ít nhất trong số các cách chọn đỉnh hoặc cạnh trung tâm.
Độ phức tạp:
Comments