Khoảng cách trên cây có trọng số
Đề bài
Mô tả
Cho một cây có gốc tại đỉnh gồm đỉnh, được mô tả bởi cạnh. Mỗi cạnh nối hai đỉnh và và có trọng số (số nguyên dương).
Cho truy vấn. Trong mỗi truy vấn cho hai đỉnh và , hãy in tổng trọng số các cạnh trên đường đi đơn giản từ tới trên cây.
Dữ liệu vào
- Dòng đầu tiên chứa hai số nguyên và .
- dòng tiếp theo, mỗi dòng chứa ba số nguyên , , mô tả một cạnh nối hai đỉnh và có trọng số .
- dòng tiếp theo, mỗi dòng chứa hai số nguyên và .
Dữ liệu ra
In ra dòng. Dòng thứ chứa khoảng cách từ tới (tổng trọng số các cạnh trên đường đi).
Ràng buộc
- Dữ liệu đảm bảo các cạnh tạo thành một cây có gốc .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 5 4 1 2 3 1 3 5 2 4 2 2 5 7 4 5 3 5 1 1 4 3 |
9 15 0 10 |
Đường đi tổng . Đường đi tổng . Đường đi là . Đường đi tổng . |
| 7 3 1 2 4 1 3 6 2 4 1 2 5 9 3 6 2 3 7 8 6 5 4 7 1 6 |
21 19 8 |
Đường đi tổng . Đường đi tổng . Đường đi tổng . |
Ghi chú
Với tới , thuật toán (BFS lại với mỗi truy vấn) sẽ không kịp trong giới hạn thời gian. Bạn nên dùng cấu trúc dữ liệu cho phép trả lời mỗi truy vấn trong .
Bình luận