hiho 11 樹的最長路徑

2021-07-07 08:27:46 字數 575 閱讀 4815

樹中兩個結點之間的最長距離, 距離指兩個節點之間的邊數。

首先選擇乙個點作為樹的根節點,對於以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喜愛的玩具又...