簡體   English   中英

在加權無向圖中找到固定成本的路徑?

[英]Finding paths of fixed cost in weighted undirected graph?

我遇到以下問題,但不確定如何解決:

給定一個圖G = (V;E) ,其中每個邊e都有一個正整數成本c_e和起始頂點s\\in V 設計一種O(V + E)算法,該算法使用一條路徑(不一定是簡單路徑)標記從s可到達的所有頂點,而該路徑的總成本是5的倍數。

我如何跟蹤已經訪問過的路徑的總成本? 我一直在研究無向加權圖中的BFS,並嘗試過在這里使用它,但是大多數BFS參考文獻都着眼於尋找最短路徑(而不是將其保持5的倍數 )。

您如何看待下一個算法?

讓我們考慮基於源圖的新的有向圖。 為源圖中的每個頂點v在新圖中創建5新頂點v[0], v[1], ..., v[4] ,對應於除以5的模塊。 然后,如果頂點vu通過權重為w的邊在源圖中連接,則在v[i]u[(i + w) % 5]u[j]v[(j + w) % 5] ,其中i = 0..4, j = 0..4 然后從v[0]運行BFS ,其中v是源圖中的起始頂點。

考慮索引為0頂點,例如v[0] 它們每個都對應於源圖中頂點v5的長度倍數的路徑。 BFS之后標記為從起始頂點可到達的所有此類頂點均構成了答案。 總復雜度是線性的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM