假設給出加權圖G(V,E)。缺少給定邊的最短路徑
該圖包含Ñ頂點(編號從0到N-1)和中號邊緣雙向。
每個邊緣(六,VJ)具有陽性距離d(即,在兩個頂點vivj之間的距離是d)
有任意兩個頂點之間atmost一個邊緣,並且還存在沒有自我循環(ie.no邊緣頂點連接到 本身。)
此外,我們給出小號源頂點和d目標頂點。
let Q是查詢的數量,每個查詢包含一個邊沿e(x,y)。假設邊緣(x,y)在原始圖中不存在,我們必須找到從源S到目的地D的最短路徑。 如果沒有從S到d存在任何路徑,則我們有打印號
約束是高0 < =(N,Q,M)< = 25000
如何解決這個問題有效?
直到現在我所做的是實現了簡單的Dijakstra算法。
對於每個查詢Q,每次我很分配(X,Y),以無限 和發現Dijakstra最短路徑。
但這種方法會很緩慢,因爲整體的複雜性將是Q(時間Dijastra Shortes路徑的複雜性)*
例::
N=6,M=9
S=0 ,D=5
(u,v,cost(u,v))
0 2 4
3 5 8
3 4 1
2 3 1
0 1 1
4 5 1
2 4 5
1 2 1
1 3 3
Total Queries =6
Query edge=(0,1) Answer=7
Query edge=(0,2) Answer=5
Query edge=(1,3) Answer=5
Query edge=(2,3) Answer=6
Query edge=(4,5) Answer=11
Query edge=(3,4) Answer=8
你能解釋一下如何能夠很容易地計算最小切割問題嗎? – anukul