[Buổi 31][Đường đi ngắn nhất với cạnh âm][HW] Bài 3: Bảng tuyến đường toàn cục
Bảng tuyến đường toàn cục
Bối cảnh và bài toán
Một mạng nhỏ có nhiều truy vấn hỏi khoảng cách ngắn nhất giữa hai nút bất kỳ. Các cạnh là hai chiều và trọng số dương.
Yêu cầu
Trả lời q truy vấn khoảng cách ngắn nhất.
Input
Dòng đầu n, m, q; tiếp theo m cạnh u, v, w; sau đó q cặp a, b.
Output
Mỗi truy vấn in khoảng cách hoặc -1 nếu không có đường.
Ràng buộc
1 <= n <= 5000 <= m <= n*(n-1)/21 <= q <= 10^51 <= w <= 10^9## Chấm điểm | Subtask | Điểm | Điều kiện | Official tests | |---|---:|---|---| | S1 | 40 | n <= 80, q <= 200 | 01–08 | | S2 | 60 | Không có ràng buộc bổ sung | 09–20 |
Ví dụ 1
Input
4 3 4
1 2 5
1 3 9
2 3 3
1 3
1 4
2 3
4 4
Output
8
-1
3
0
Giải thích. Floyd-Warshall tiền xử lý mọi cặp, sau đó mỗi truy vấn chỉ đọc một ô của ma trận khoảng cách.
Ví dụ 2
Input
2 1 2
1 2 7
1 2
2 2
Output
7
0
Giải thích. Floyd-Warshall tiền xử lý mọi cặp, sau đó mỗi truy vấn chỉ đọc một ô của ma trận khoảng cách.
Thông tin bài tập
| Thuộc tính | Giá trị |
|---|---|
| Mã bài | DSA-M09-B31-HW03 |
| Buổi | B31 |
| Loại bài | HOMEWORK |
| Mức độ khó | Trung bình (Medium) |
| Thời gian làm bài khuyến nghị | 45 phút |
| Time limit | 2 giây |
| Memory limit | 256 MB |
| Tổng điểm | 100 |
| Chuẩn ngôn ngữ tham chiếu | C++11 trở lên |
Nguồn: Phỏng theo / Adapted from CSES Shortest Routes II. Bản FULLHOUSE DEV đã biên tập lại bối cảnh/format theo phạm vi khóa học.
Comments