樹中兩個結點之間的最長距離, 距離指兩個節點之間的邊數。
首先選擇乙個點作為樹的根節點,對於以t為根的子樹,l1和l2表示從t到葉子節點的最長距離和次長距離,那麼子樹對應的結果是 l1+l2;
樹在儲存時,可以按照無向邊儲存,在dfs訪問時,傳入父節點的指標,遍歷時,如果是父節點就跳過。
#include
#include
#include
#include
using
namespace
std;
enum;
vector
tree[maxn];
int res = -1;
int findmax(int t, int pre)
}res = max(res, first+sec+2);
return first +1;
}#define oj
int main()
findmax(1, 0);
printf("%d\n", res);
return
0;}
hiho 1050 樹中的最長路
時間限制 10000ms 單點時限 1000ms 記憶體限制 256mb 描述上回說到,小ho得到了一棵二叉樹玩具,這個玩具是由小球和木棍連線起來的,而在拆拼它的過程中,小ho發現他不僅僅可以拼湊成一棵二叉樹!還可以拼湊成一棵多叉樹 好吧,其實就是更為平常的樹而已。但是不管怎麼說,小ho喜愛的玩具又...
hiho 1050 樹中的最長路
題目大意 給出一棵樹,其中每兩個節點都可以形成乙個路徑 要求路徑中的邊只能走一次 求出所有路徑中的長度最大值。分析 由於樹的任何乙個節點均可以作為根節點,因此dfs時候,選擇1即可。實現 pragma once pragma execution character set utf 8 本檔案為utf...
hiho 1050 樹中的最長路 樹的直徑
時間限制 10000ms 單點時限 1000ms 記憶體限制 256mb 描述上回說到,小ho得到了一棵二叉樹玩具,這個玩具是由小球和木棍連線起來的,而在拆拼它的過程中,小ho發現他不僅僅可以拼湊成一棵二叉樹!還可以拼湊成一棵多叉樹 好吧,其實就是更為平常的樹而已。但是不管怎麼說,小ho喜愛的玩具又...