1. 程式人生 > >分層圖最短(長)路

分層圖最短(長)路

1. 用途:用於求解一些有特定要求的最短路和最長路問題,如可以經過任意選擇的某點幾次,或者說任意選擇某條路可以路徑減半,或者說某條路可以逆行.....類似的看起來很動態的要求

 看到這種題千萬不要想不開去寫dp,分層圖是一個很好的思路。

 但是多半這種題就有那麼一點兒板

2.方法:對於每一種神奇的要求,我們建立要求個新圖,並與原圖上下平行、完全一致。在每一層圖與圖之間連邊,相對應平行的點連0邊,有關係的上下兩層的點按照神奇要求連邊(我語文不好

從第一層起點開始跑最短路到最後一層的終點,然後...就沒啦?