藍橋杯 大臣的旅費(最短路)

2021-07-27 15:38:28 字數 525 閱讀 2594

思路:

就是要求一條最長路,可以從任意一點開始做一次最短路,找到最遠的點,然後對這個最

遠的點再做一次最短路,此時最遠的路就是最長路。

**:

#include#include#include#include#includeusing namespace std;

const int maxn = 1e4+5;

const int inf = 0x3f3f3f3f;

int n, dis[maxn];

bool book[maxn];

struct node

node(int vv, int ww): v(vv), w(ww) {}

};vectorg[maxn];

void spfa(int u)}}

}}int solve()

int main(void)

printf("%d\n", solve());

}return 0;

}

藍橋杯 大臣旅費

一開始就是覺得用dfs想不通為什麼網上是說兩遍dfs bfs找出當前最大邊 樹的最大直徑 後來發現純dfs時間代價太大了o n 附上純dfs include include int n,visited 1000 point 1000 int dist 1000 1000 void end if su...

大臣的旅費 藍橋杯

給你一顆樹,讓你求出樹上最遠的倆個點的距離 先以第乙個頂點為根,進行一次dfs,找出從第乙個點出發的最長的乙個直徑,然後再以直徑的另外乙個端點a,為根進行一次dfs,又可以找出另外乙個端點b,可以證明 a,b 即為樹的直徑 樹上任意倆點最遠的距離 下面是對這種證法的詳細證明 不是我證的。為了闡述清楚...

藍橋杯 大臣的旅費

問題描述 很久以前,t王國空前繁榮。為了更好地管理國家,王國修建了大量的快速路,用於連線首都和王國內的各大城市。為節省經費,t國的大臣們經過思考,制定了一套優秀的修建方案,使得任何乙個大城市都能從首都直接或者通過其他大城市間接到達。同時,如果不重複經過大城市,從首都到達每個大城市的方案都是唯一的。j...