I - Add One Edge 3 Editorial
by
Magentor
前半部分の別解
公式解説にある「各頂点についてのグラフでの最遠点までの距離」は、全方位木dpを用いることでも求めることができます。
全方位木dp自体の解説については、 ei1333さんの記事などがあるため、ここでは省略することにします。
それぞれの木が、頂点 \(1\) を根とした根付き木であるとします。\(dp_i\) を、「頂点 \(i\) の部分木に含まれる頂点であって、頂点 \(i\) からの距離が最大であるもの」と、頂点 \(i\) との距離と定義すると、この値は単純な木dpを適用して求めることができます。
具体的には、\(dp_i = 1 + \displaystyle\max_{j \in C_i} dp_j\) のような遷移を行うことで求めることができます。ここで、\(C_i\) を頂点 \(i\) の子の頂点番号の集合とします。
これを活用することにより、全方位木dpを行うことが可能で、結局のところ、この問題を解くことができました。
posted:
last update: