Quan sát: Nếu một con đường trong đồ thị mà đi từ đến , có độ dài , mà thuộc một đường đi ngắn nhất nào đó, nó phải thỏa mãn: .
Vì thế, với mỗi đường đi trên đồ thị, ta có thể xác định được hướng đi của nó trong đường đi tối ưu, hoặc không xét nó vào tập hợp các đường đi có thể có trên đồ thị có hướng.
Khi đó, hướng đi của từng con đường trên đồ thị sẽ tạo thành một DAG, và ta có thể quy hoạch động trên đó. Ta có thể thiết lập một công thức quy hoạch động như sau:
là số đường đi ngắn nhất từ đỉnh đến đỉnh .
Phần còn lại các học viên tự giải.
2008. Maximum Earnings From Taxi
Tóm tắt đề bài
Hành trình uber của bạn qua điểm, nằm lần lượt từ đến trong hành trình. Có khách đặt bạn, muốn đi quãng đường từ đến () và sẽ trả bạn mức phí bằng . Bạn sẽ chỉ có thể chở mỗi lúc một người, nhưng sau khi trả một khách tại điểm nào đó, bạn có thể bắt khách tiếp ngay tại điểm đó luôn.
Hãy tối ưu hóa lợi nhuận của bạn.
Tóm tắt lời giải
Ta lưu ý: .
Gọi là số tiền tối ưu có thể dành được sau khi taxi đến được điểm .
Với mỗi chuyến xe ứng với thông số , ta cập nhật . Ban đầu, khi chưa cập nhật chuyến xe nào mặc định bằng (đi đoạn đường không có thu nhập). .
Với cách cập nhật thế này, ta cần sắp xếp các chuyến xe theo chiều tăng dần của điểm kết thúc. Sau đó, với mỗi điểm trên đoạn đường:
Ta cập nhật nó bằng với .
Tìm xem có các chuyến xe nào kết thúc tại điểm không, nếu có, với mỗi chuyến xe, ta cập nhật nó theo công thức đã nói trên.
2556. Disconnect Path in a Binary Matrix by at Most One Flip
Tóm tắt đề bài
Cho một quần đảo, địa thế của nó có thể được mô phỏng bởi một lưới vuông . Các ô trên quần đảo là đất liền, còn trên quần đảo là nước. Hỏi, liệu ta có thể bỏ đi một ô đất liền nào đó (thay bằng nước), để "ngắt kết nối" giữa ô trên trái ngoài cùng, và ô dưới phải ngoài cùng được không?
Tóm tắt lời giải
Gọi số đường đi đến ô từ ô trái trên là , từ ô phải dưới là .
Quan sát: số đường đi từ hai góc lưới vuông mà đi qua ô là .
Tổng số đường đi là .
Nếu ta đã tính được các mảng và , thì việc tìm ô nào đó thỏa mãn để có thể flip, ứng với việc tìm một ô thỏa mãn , tương ứng với việc tất cả đường đi đều đi qua ô này.