Editorial for Tuyến xe


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.

Author: Yunan

Nhật xét 1: Cần xử lý với trường hợp đa đồ thị, chỉ lưu lại cạnh nhỏ nhất. Vì vậy có tối đa n^2 cạnh.

Nhật xét 2: Đường đi ngắn nhất không thể chứa chu trình, vì vậy chỉ cần sử dụng tối đa n-1 tuyến xe. Nếu k \ge n thì đáp án giống với trường hợp k=n-1.

Gọi dp[d][x][y] là thời gian ngắn nhất di chuyển từ đỉnh x đến đỉnh y sử dụng tối đa d tuyến xe. Tiến hành duyệt qua các cạnh [z,y] với trọng số w[z][y] để cập nhật:

\displaystyle dp[d][x][y] = \min\{dp[d-1][x][z]+w[z][y]\}

Độ phức tạp: O(n^4).


Comments