小明買了一台電動車,其電池容量為 。小明知道電動車的初始電量 ,他要規劃從起點開到終點的路線,使得所需的充電費用越少越好。電動車在一些路段會耗電(如平路或是上坡),在一些路段會充電(如下坡)。這些充電路段是不會收費的。我們用一個有向圖表示地圖,邊的權重代表電動車開過此邊會讓電量增加或減少,如果開過此邊會充電,則邊的權重為一個正數,反之如果開過此邊會耗電,則邊的權重為一個負數。我們假設圖沒有正環。
電動車在行駛時,電量需要永遠大於等於 ,而且無論充電量多大,電量最多為 。更明確地說,令 為電動車目前電量,並考慮一個權重為 的邊:如果 非負數,則電動車一定可以開過此邊(即使電量 ),且剩餘電量為 ;如果 是負數,且 ,則電動車可以開過此邊,且開過此邊後的剩餘電量為 ;然而,如果 ,則電動車無法開過此邊。
地圖上有一些節點是充電站,小明可以經過多個充電站,因為充電要花時間找充電樁,小明決定路途中最多只用一個充電站充電。充電一單位的價格是一塊錢,小明的目標是花最少的錢到達目的地。
舉例來說,考慮以下三個圖,我們用方形節點代表充電站,圓形節點則無法充電。假設電池容量 ,起點為 ,終點為 ,且初始電量為 。
在下圖中,電動車可以從 抵達 ,且最小充電費用為 。
:::align{center}
:::
在下圖中,電動車無法從 抵達 。
:::align{center}
:::
在下圖中,電動車可以從 抵達 ,且最小充電費用為 。
:::align{center}
:::