定数kが与えられた場合、ルートからリーフへのすべてのパスについて、そのノードのアリティの合計がkに等しい場合、最大のルート付きツリーを見つけますか?


8

例として、の場合に考えられるすべてのツリーを次に 示します。 各ノードには、アリティ(=子の数)が書き込まれます。k=ここに画像の説明を入力してください

これは動的プログラミングで解決できるはずですが、これには組み合わせの結果があったと思います(正確またはかなり細かい上限)。誰か知っていますか?


編集:

ツリーのサイズは、ノードの数です。したがって、最大のツリーは、ノードの最大数を持つツリーになります。


3
最大を定義します。
idoby

おそらく、「ルートからリーフへのすべてのパス」を意味します。それ以外の場合は、1頂点ツリーが唯一のソリューションです。(また、ルート化されたツリーについて話していると明確に言う方が良いでしょう。ルート化されていないツリーも可能です。)
j_random_hacker

@j_random_hackerはい、あなたは完全に正しいです。質問を訂正します。
Sudix

回答:


4

ましょルートからリーフまでの各パスのアリティにまで追加最大ツリーのサイズである。B

そのようなツリーのルートにアリティがある場合、サブツリーのそれぞれのパスの合計はます。サブツリーは最適でなければならないため、ツリーのサイズはです。kkk1+kBk

以下のための、式わずかその発現最大限前回値用いて、。BkB1B2

私はこれを手作業で試してみましたが、(@ Sudixの助けを借りて)を見つけました。これはSloanes Online Encyclopedia of Integer SequencesのA239288のようです。そこで与えられた再帰は似ていますが、完全に同じではありません。125711162334

シーケンスの説明は、「すべてのコンポジションx0 + ... + xk = nにおけるx0 + x0 * x1 + ... + x0 * x1 * ... * xkの最大合計」です。これは実際に同じシーケンスです。ルートからのパスに沿ったアリティのシーケンスがx0、x1、...、xkである場合、これらは合計してnになり、ノードの数は実際に与えられた式になります。

Sloaneの別のコメントは興味深いです:「n> = 8の場合、解は循環になります:a(3n + k)= 3 + 3a(3n-3 + k)」。これは、24より大きい値の場合、ツリーのルートには常に3つの子があることを示唆しているようです。


したがって、1つの式に入れるために、解決/推定する再帰は次のとおりです:B=1+最高1kkBkB0=1
Sudix

2
あなたのシーケンスでは、ステップを逃したと思います: '1、2、3、5、7、11、16、23、34、49、70、103、148、211、310、445、 634、931、1336、1903、2794、4009、5710、8383、12028、17131 '; 計算を間違えなかった場合、シリーズ1の[OEIS] [1]エントリがあります。[1]:oeis.org/...
Sudix
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.