HardRating 2364
2203. Minimum Weighted Subgraph With the Required Paths
graphheap-priority-queueshortest-path
解題說明
C++ 解法
複雜度分析
虛擬碼
1. Build forward adjacency list and reverse adjacency list. 2. Run Dijkstra from src1 on forward graph → dist1[]. 3. Run Dijkstra from src2 on forward graph → dist2[]. 4. Run Dijkstra from dest on reverse graph → distR[]. 5. For each node m: if all three distances are finite, candidate = dist1[m] + dist2[m] + distR[m]. 6. Return minimum candidate, or -1 if none.