寒假訓練POJ 3268題解

2021-09-11 09:11:17 字數 945 閱讀 6340

一開始以為就是用多次最短路來求解,把各個奶牛到終點的最短距離算出來,再把終點到各個奶牛的最短距離算出來,計算每頭奶牛所用最短時間,輸出最大的,結果超時了,看了別人的題解才恍然大悟。因為前者需要執行多次最短路,後者只用一次就可以解決問題,由於前者的原因超時了。後者不變,需要改變求前者時間的辦法,因為是單向的路徑,所以如果把路徑全部反過來,再以終點作為起點來計算到各個奶牛的最短路其實也是一樣的,這樣只執行了一次最短路,不會超時。

#include

#include

using

namespace std;

int cost[

1005][

1005

], cost2[

1005][

1005];

int visit[

1005];

int d[

1005

], d2[

1005];

int n;

intmin

(int

,int);

voidf(

int)

;voidf2(

int)

;int

main()

f(z);f2

(z);

int p =0;

for(

int i =

1; i <= n; i++)if

(d[i]

+ d2[i]

> p) p = d[i]

+ d2[i]

; cout << p << endl;

return0;

}int

min(

int x,

int y)

voidf(

int x)}}

voidf2(

int x)

}}

寒假 POJ 3268(最短路)

題目大意 給出n個點和m條邊,接著是m條邊,代表從牛a到牛b需要花費c時間,現在所有牛要到牛x那裡去參加聚會,並且所有牛參加聚會後還要回來,給你牛x,除了牛x之外的牛,他們都有乙個參加聚會並且回來的最短時間,從這些最短時間裡找出乙個最大值輸出 include using namespace std ...

來回最短路POJ3268

這個題得主要考點在於給你的圖是去了再回來得有向圖,如何模組化解決呢就是轉變圖的方向,我們根據初始得放心求出每個點到x得最短路,然後轉變所有路得方向再求出所有點到x得最短路,最後一相加就是最後的來回了 實現得時候我用到了陣列指標,感覺非常得方便 include include include defi...

POJ3268最短路水題

題意大概是有n個農場n頭牛,要去x農場的牛。去和返回都要走最短路,問耗費時間最長的那條路是多少。首先想到就的就是floyd演算法果然tle了。先附上tle的 include include include include using namespace std const int maxn 1000...