辺の木の実の個数 を重みと呼称します。
次数1の頂点とそれを結ぶ辺を削除する操作を可能な限り繰り返します。
操作後に残ったグラフを縮約し、頂点を黒く塗ります。
削除した頂点と辺を戻すとグラフは木となりますが、黒の頂点でのみ折り返しが可能な場合の重み総和の最大値を木DPで求めればよいです。
計算量はです。
橋を外したグラフを二重辺連結成分ごとに縮約し、連結成分に含まれる辺の重み総和を頂点の重みとして割り振ります。また、連結成分内に辺を含むものを黒に、含まなければ白に色分けします。
橋を戻した縮約後の木を考えると、元の問題は以下の問題と等価です:
等価な証明として、黒く塗る連結成分内で全辺を通過する、任意の頂点間のS-Gウォークの構築法を示します。
木の問題は黒の頂点間を縮約することで、以下の問題に帰着できます:
①は木の直径、②は子への辺と頂点の重み総和top2を求める木DPで解けます。