P15238 [NHSPC 2025] 電動車充電規劃問題
Description
小明買了一台電動車,其電池容量為 $ B $ 。小明知道電動車的初始電量 $ b $ ,他要規劃從起點開到終點的路線,使得所需的充電費用越少越好。電動車在一些路段會耗電(如平路或是上坡),在一些路段會充電(如下坡)。**這些充電路段是不會收費的**。我們用一個有向圖表示地圖,邊的權重代表電動車開過此邊會讓電量增加或減少,如果開過此邊會充電,則邊的權重為一個正數,反之如果開過此邊會耗電,則邊的權重為一個負數。我們假設圖沒有正環。
電動車在行駛時,電量需要永遠大於等於 $ 0 $ ,而且無論充電量多大,電量最多為 $ B $ 。更明確地說,令 $ p $ 為電動車目前電量,並考慮一個權重為 $ w $ 的邊:如果 $ w $ 非負數,則電動車一定可以開過此邊(即使電量 $ p=0 $ ),且剩餘電量為 $ \min(B, p+w) $ ;如果 $ w $ 是負數,且 $ p+w \ge 0 $ ,則電動車可以開過此邊,且開過此邊後的剩餘電量為 $ p+w $ ;然而,如果 $ p+w
Input Format
$$
\begin{aligned}
&n \; m \; s \; t \\
&B \; b \\
&u_1 \; v_1 \; w_1 \\
&u_2 \; v_2 \; w_2 \\
&\vdots \\
&u_m \; v_m \; w_m \\
&g \; p_1 \; p_2 \; \cdots \; p_g
\end{aligned}
$$
- $n$ 為節點數。
- $m$ 為邊數。
- $s$ 為起點編號。
- $t$ 為終點編號。
- $B$ 為電池容量。
- $b$ 為電池初始電量。
- $u_i, v_i, w_i$ 代表圖中有一個邊由節點 $u_i$ 至節點 $v_i$,且權重為 $w_i$。
- $g$ 為充電站個數。
- $p_i$ 為第 $i$ 個充電站的節點編號。
Output Format
$$a$$
- $a$ 代表最少所需的充電費用。如果不存在路徑抵達終點,則 $a = -1$。
Explanation/Hint
### 測資限制
* $1 \le n\le 10^3$。
* $1 \le m\le 10^4$。
* $1 \le s,t\le n$。
* $1 \le B\le 10^9$。
* $0 \le b\le B$。
* $1 \le u_i, v_i\le n$,且 $u_i \neq v_i$。
* $-10^9 \le w_i\le 10^9$。
* $0 \le g\le n$。
* $1 \le p_i \le n$。
* 保證圖沒有正環。
* 輸入的數皆為整數。
### 評分說明
本題共有四組子任務,條件限制如下所示。
每一組可有一或多筆測試資料,該組所有測試資料皆需答對才會獲得該組分數。
| 子任務 | 分數 | 額外輸入限制 |
| :------: | :----: | ------------ |
| 1 | 15 | 輸入滿足所有路段都不會充電,即 $w_i\le 0$, 且沒有充電站,即 $g = 0$。 |
| 2 | 30 | 輸入滿足所有路段都不會充電,即 $w_i\le 0$。 |
| 3 | 23 | 輸入滿足沒有充電站,即 $g = 0$。 |
| 4 | 32 | 無額外限制。 |