/*此題就是為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 ...