hdu3790 最短路變形

2021-08-21 23:58:07 字數 573 閱讀 3036

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

#includeusing namespace std;

#define maxn 1005

#define maxe 100000*2+5

#define inf 0x3f3f3f3f

typedef long long ll;

struct edge

};ll mp[maxn][maxn],cot[maxn][maxn];

ll dis[maxn],ccos[maxn];

int vis[maxn],n,m,st,et;

void spfa(int v0)

else

if((dis[v]==(dis[u]+w))&&(ccos[v]>ccos[u]+cost))}}

}int main()

return 0;

}

hdu3790 最短路變形

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

HDU3790(最短路徑)

題意 給你n個點,m條無向邊,每條邊都有長度d和花費p,給你起點s終點t,要求輸出起點到終點的最短距離及其花費,如果最短距離有多條路線,則輸出花費最少的。解題思路 這是最短路問題的變形,以前做的只是求兩點之間的最短距離,現在除了距離最短,在此基礎上增加了花費最少。用弗洛伊德演算法同樣可以求解。注意 ...

hdu3790 最短路徑問題

wa了無數次,終於過了,還是dijkstra,只不過在距離,相同時,多判斷一下時間。注意重邊!include include include define m 0x7fffffff using namespace std struct p 2000 struct c 1020 1020 int vi...