N 個のノードと N-1 個のエッジを持つツリーがあります (ツリーになります)。各ノードには重み W(i) があります。元のツリーのルートをまだ含んでいるサイズ K ノードのサブツリーをどのように選択できますか? この「サブツリー」を選択する「コスト」を最小限に抑えるために、これを行う必要があります。コストは、保持されるすべてのエッジの重みの合計として定義されます。
私は以前にこのような問題をやったことがあると思います.DP/再帰のようです. ただし、ノードごとに 2 つの子に制限されている場合の対処方法を知っています。ノード n から始まる i ノードを維持するための最小コストを意味する関数 cost(n, i) を定義しました。子の 1 つで i = 0 から n まで反復し、残りを他の子に渡します。ただし、各ノードは無制限の数の子を持つことができるため、これに対処する方法はありますか?
ありがとう