hdu3790 單點floyd鬆弛

2021-07-26 12:59:55 字數 427 閱讀 1141

/*此題就是為floyd而設,題目每次明確對乙個頂點鬆弛,最後所求是全域性最短路,因此每次只需

對乙個頂點進行floyd演算法,另外注意頂點標號是從0開始*/

#include #include #include #include #define n 305

#define inf 0x3f3f3f3f

using namespace std;

int m, n, q;

int map[n][n];

int vis[n];

void init() }}

void creatgraph()

}void floyd(int k) }}

int main()

}else

}} return 0;

}

hdu3790解題報告

這裡起點和終點都是確定的,唯一有點小麻煩 也算不上什麼麻煩 就是這裡的權值有兩個,錢和路長,題目要求選擇最短路,對於一樣長度的路選擇錢最少的路.那麼我們每次就對路長鬆弛,對於路長一樣的在對錢鬆弛.不懂鬆弛操作的很抱歉 ac 840k 109ms include includeusing namesp...

hdu3790 最短路變形

這題就是比普通的最短路多維護了乙個cot陣列,cot i 表示的是起點到i節點的最短路徑對應的最小花費。要注意重邊的處理,我用鄰接表存圖,應該是重邊沒處理好,畢竟鄰接表處理重邊不太方便要把全部的都遍歷一遍,以後有重邊的情況還是用鄰接矩陣存圖算了。includeusing namespace std ...

hdu3790 最短路變形

這題就是比普通的最短路多維護了乙個cot陣列,cot i 表示的是起點到i節點的最短路徑對應的最小花費。要注意重邊的處理,我用鄰接表存圖,應該是重邊沒處理好,畢竟鄰接表處理重邊不太方便要把全部的都遍歷一遍,以後有重邊的情況還是用鄰接矩陣存圖算了。includeusing namespace std ...