poj1985 樹的直徑

2021-07-03 23:02:42 字數 573 閱讀 1134

題意求樹的直徑,直接貼**

#include #include #include #include #include using namespace std;

typedef struct

edge;

edge edge[100050]; //開50000會wa

int head[50000],e;

int dis[50000]; //記錄第i個點的最長距離,若沒有被訪問過,則為-1

void addedge(int from,int to,int w)

int bfs(int v)}}

return tem;

}int main()

int fa = bfs(1); //第一次bfs求出乙個最遠的點

int ans = bfs(fa); //第二次bfs從最遠的點求另乙個最遠的點

printf("%d\n",dis[ans]);

}}

晚上裝了win10,調戲了一會cortana,感覺挺好的,等正式版上線ing

poj 1985 樹的直徑

題意 求樹的直徑。樹的直徑即樹上距離最遠的兩個點之間的距離 思路 以任意點開始深搜,得到距離其最遠的點 再以求得的點開始深搜,再次搜得的最遠距離即為樹的直徑 include include define n 100005 struct edgee n 2 int first n flag n top...

POJ 1985 樹的直徑

傳送門 給一顆n個點的樹,求樹的直徑 最長的一條鏈 先隨便找乙個點u,dfs出離它最遠的點v 於是有以下情況 只需要從v再進行一邊dfs,便可以求出直徑。include include include includeusing namespace std int n,m int adj 50005 ...

poj4607 樹的直徑)

題目 park visit 題意 乙個人去公園,想走k個景點,問最短的距離。思路 求出樹的直徑 最長的鏈 最長路徑 從任意點a,找到離a最遠點b。再找到離b最遠點c,bc就是最長路徑。如果k include include include include include include includ...