No.019 D

まずは頂点 と頂点 () の距離を問い合わせる. これを とする. なお とおける.

ここで, が最も大きい頂点を とする. 任意の2頂点間の距離を とすると, が最大となるとき, または が成り立つ. すなわち, 最長距離となる2頂点の片方は である. (証明は省くが, でない2頂点 を仮定して の位置関係ごとに または と入れ替えた方が長い距離になることが示せる)

よって, 次に頂点 と頂点 ( かつ ) の距離を問い合わせ, とこの問い合わせの結果の中の最大値が木の直径である.