POJ1471ツリー

所与\(N \)点(数\(0,1、...、1-N \)ツリーの)、各エッジが量(以下有する(\ 1000)を\)。
二つのツリーノード\(X \)\(Y \)その和とパスの各側に重みとの間の経路長。
もはやよりシークない\(K \)どのように多くのパス。

入力形式

テストケースの複数のセットを入力します。
各テストケースの最初の行は、二つの整数N及びKを含有します
\(N-1 \)行、三つの整数を含む各列\(U、V、Lを\) 表すノード\(U \)\(V \)一の側と右側との間を値\(L \)
入力例とき\(N = 0、K = 0 \)は、その入力が終了していることを示し、そして治療なしのユースケース。

出力形式
各出力試験結果のために。
各結果行。

データ範囲
\(N≤10000\)

サンプル入力:

5 4
0 1 3
0 2 1
0 3 2
2 4 1
0 0

出力例:

8

指定されたノードがあれば\(P \)ルートノードpは、経路ツリーは、2つのカテゴリに分けることができます。

  1. ルートノードの後に\(P \)
  2. 含ま\(P \)のサブツリーの(非root \(P \)

パーティションの考え方によると、クラスの第二の経路は、であることができる\(P \)を再帰的に処理されたサブツリーサブ問題としてそれらのそれぞれの。

クラス1つの経路については、我々は、pの根を見つけるために、サブツリーにあるDFS

おすすめ

転載: www.cnblogs.com/keik/p/12431986.html