火災(木直径)

タイトル説明

国N都市、n個の都市のうちのいずれか2つがあり、ユニークな通信経路が存在する二つ都市ZIの各通信経路長(ZI <= 1000)。
この国の人々は炎に宇宙を超えて情熱を持っているので、国の最も盛んな産業は、火災の産業です。政府は忍耐の熱意の国民(火オーバーヘッド費の大多数)の外に走ったが、まだ(大統領選挙は、国民のレートをサポートするために)何もしないように、我々は唯一の消防能力を向上させる方法を試すことができます。
今、この国には、ハブ側の長さsのではなく、パス(両端の都市)よりも上で火を確立するために十分な資金、ハブの利用率を最大化するために、すべての他の都市までの距離が最小のパスの最大値を必要とし。
あなたはプロジェクトを監督するために任命され、もちろんあなたがどの位置にハブを確立するために知っておく必要があります。

入力形式

n個の入力ラインを含む:
スペースで分離された第1ライン、2つの正の整数NおよびSを、。nは都市の数であり、Sは、境界の経路長です。ノードのこのセットに1,2、...、Nの番号。
二行目からn行目には、正の整数3与えられたスペースで区切られた各ラインは、各エッジの両端点のシーケンス番号と長さを示します。例えば、「247」が7にノード2及び4を接続するエッジの長さを表します。

出力フォーマット

選択したパスへのすべての都市の、すなわち最大の負でない整数を含む出力は、もちろん、すべてのプログラムの最大値は、最小でなければなりません。

サンプル

サンプル入力

【样例输入1】
5 2
1 2 5
2 3 2
2 4 4
2 5 3
【样例输入2】
8 6
1 3 2
2 3 2 
3 4 6
4 5 3
4 6 4
4 7 2
7 8 3  

サンプル出力

Sample Output
【样例输出1】
5
【样例输出2】
5

粘着性の問題に直面していない長い時間ではありません。

木の良い質問径。

まず第一に、我々は直径、他のポイントの最大最小距離の中点ため、特定の直径を見つけたいです、

長提供直径Dは、D / 2よりも大きな距離の中間に他の点は、それが常に新たな直径を形成し、エンドポイントを取得すると仮定します

その後、我々はいくつかを検討することができたときに最長点から直径の直径、何だろうポイント

見出され、両端点の直径、または非点直径、非点の直径が一定であるので、我々はアウトを事前ことができ、

私たちの残りの部分は、ちょうどキュー単調なパスだけで結構Sよりも小さい直径でカバーを見つける必要があります。

 

おすすめ

転載: www.cnblogs.com/Wwb123/p/11610995.html