Cây về không
Đề bài
Mô tả
Cho một cây gồm đỉnh được đánh số từ đến . Trên đỉnh thứ có ghi một số nguyên .
Mỗi bước, bạn được thực hiện thao tác sau:
- Chọn một cây con của cây đã cho, tức là một tập đỉnh liên thông (cùng với các cạnh nối chúng), sao cho tập đỉnh này chứa đỉnh .
- Tăng thêm , hoặc giảm đi , tất cả các số ghi trên những đỉnh vừa chọn.
Lưu ý rằng mỗi thao tác chỉ được cộng hoặc trừ (không được chọn lượng thay đổi lớn hơn), và tập đỉnh được chọn luôn phải liên thông và luôn phải chứa đỉnh .
Hãy tìm số bước ít nhất để đưa toàn bộ các số ghi trên cây về .
Dữ liệu vào
- Dòng đầu tiên chứa số nguyên .
- dòng tiếp theo, mỗi dòng chứa hai số nguyên và , cho biết có một cạnh nối đỉnh và đỉnh . Dữ liệu đảm bảo đồ thị cho trước là một cây.
- Dòng cuối cùng chứa số nguyên .
Dữ liệu ra
Một số nguyên duy nhất là số bước ít nhất cần thực hiện.
Ràng buộc
- ,
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 3 1 2 1 3 1 -1 1 |
3 | Giảm tập đi được , tăng tập lên được , giảm tập đi được . Tổng cộng bước. |
| 3 1 2 1 3 2 0 1 |
2 | Giảm tập đi được , rồi giảm tập đi . Đỉnh vốn đã bằng nên không cần đụng tới. |
| 5 3 1 2 4 3 4 2 5 0 -3 -1 2 4 |
20 | Cây là một đường thẳng với các giá trị theo thứ tự dọc đường đi. Do dấu của các giá trị đan xen nhau, phương án tối ưu cần đúng bước tăng và bước giảm. |
Bình luận