所以我發現一個問題,旅行者可以在圖形中行進一定距離,所有雙向邊具有一定的長度(距離)。假設在旅行某個邊緣(任一方向)時,您可以獲得一些金錢/禮物(這是針對所有邊緣的問題),因此您必須找到您可以在可以旅行的給定距離上收集的最高金額。基本問題是如何找到給定距離的所有可能路徑(圖中可能有循環),並在找到所有可能的路徑後,收集最大費用的路徑就是答案。注意:你想出的任何可能的路徑都不應該有一個循環(直線路徑)。圖論,所有具有給定距離的路徑
0
A
回答
0
給出一個無邊連接圖,邊上有雙重權重(距離和獎勵)。 給定一個與可能距離相對應的固定數字d。
對於每對節點的(U,V)中,u不等於V,你正在尋找
- 所有u和v,沒有重複的節點,其總的距離爲d的連接路徑{P_j} 。
- 其獎勵最大的{P_j}子集{P_hat(j)}。
爲了得到第一個,我會嘗試使用Floyd-Warshall算法的修改版本,在這裏你不尋找最短的,但是對於任何路徑。 Floyd-Warshall使用基於考慮u和v之間的「中間節點」w的策略,遞歸地找到最小化u和v之間距離的路徑。
您可以做同樣的事情,同時採取所有路徑,而不是排除最小化,注意將已經在距離矩陣中訪問過的節點放入inf
中,並且在運行時排除遞歸中的距離大於d或到達結尾的每個部分路徑(它們連接u和v)距離比d短。
如果給出了可能的距離[d,D]的間隔,而不是單個值d,那麼可以推廣,因爲在第二種情況下,您可能會一直得到空集。
對於第二步,您只需比較解決第一步中找到的每條路徑的獎勵,然後選擇最好的一條。
更多的是一個建議的方向,而不是一個完整的答案,但我希望它有幫助!
相關問題
- 1. 通過路徑獲取一定距離內的所有點
- 2. 使用Floyd-Warshall尋找所有最短路徑和距離
- 3. 具有確定距離的空間線
- 4. 使用MapKit生成一條具有特定距離的路線
- 5. 在給定源頂點的情況下查找具有有向圖中的循環的所有路徑
- 6. 將具有路徑的路徑作爲值傳遞給javascript
- 7. 從源到目標節點的所有可能路徑的成本/距離
- 8. 如何計算距離路徑的最短距離?
- 9. 有向無環圖:找到特定節點的所有路徑
- 10. 計算給定的距離
- 11. 數學複製距離d的路徑
- 12. 計算MKPolyline路徑的距離?
- 13. 所有PC的固定絕對路徑
- 14. 檢索距離內的所有地面
- 15. 有路徑的地圖如何將tham與給定路徑進行比較?
- 16. 如何從Google Maps JavaScript API中的給定路徑值獲取距離?
- 17. 選擇在物化路徑中具有ID的所有行
- 18. Solr的發現,具有一定的路徑開始的所有ID
- 19. 查找有循環的有向圖中的所有路徑
- 20. 不能檢測具有給定顏色和距離的相同像素
- 21. 查找具有循環圖的兩點之間的所有簡單路徑
- 22. 如何以矢量化方式平均給定距離內的所有座標
- 23. 在硒是有可能給所有捕獲屏幕截圖的公共路徑
- 24. .htaccess 301重定向路徑和所有子路徑
- 25. 如何使路徑具有「/」
- 26. 具有可變路徑
- 27. 確定無向圖具有兩個頂點之間的路徑
- 28. 查找路徑,其中所有路徑都屬於某種類型並具有一定的屬性
- 29. 如何顯示谷歌地圖上的路徑和距離 - Xamarin
- 30. 清除所有評論,但離開PHPDoc
開始和結束節點被給出或需要優化?沒有給出 – SeF
..針對給定路徑長度的所有源和目的地進行優化。 –