2.2 KiB
id, title, challengeType, forumTopicId, dashedName
id | title | challengeType | forumTopicId | dashedName |
---|---|---|---|---|
5900f3d61000cf542c50fee7 | 問題 103: 特殊和部分集合: 最適 | 5 | 301727 | problem-103-special-subset-sums-optimum |
--description--
大きさが n である集合 A の要素の和を、S(A)
で表します。 空でなく互いに素な 2 つの部分集合 B と C について、次の性質が真の場合、それを「特殊和集合」と呼ぶことにします。
S(B) ≠ S(C)
である。すなわち、部分集合の和が等しくてはならない。- B が C より多くの要素を含む場合、
S(B) > S(C)
である。
与えられた n に対して S(A)
が最小化されている集合を、「最適な特殊和集合」と呼ぶことにします。 最初の 5 つの最適な特殊和集合は次のとおりです。
$$\begin{align} & n = 1: \{1\} \\ & n = 2: \{1, 2\} \\ & n = 3: \{2, 3, 4\} \\ & n = 4: \{3, 5, 6, 7\} \\ & n = 5: \{6, 9, 11, 12, 13\} \\ \end{align}$$
与えられた最適な集合 A = \\{a_1, a_2, \ldots, a_n\\}
に対して、次に出現する最適な集合は B = \\{b, a_1 + b, a_2 + b, \ldots, a_n + b\\}
であり、ここで、b は前行の「途中の」要素です。
この「ルール」を適用すると、n = 6
に対する最適な集合として予想されるのは A = \\{11, 17, 20, 22, 23, 24\\}
(S(A) = 117
) です。 しかし、最適に近い集合を得るためのアルゴリズムを適用しただけなので、これは最適な集合ではありません。 n = 6
に対する最適な集合は A = \\{11, 18, 19, 20, 22, 25\\}
, S(A) = 115
であり、これに対応する集合文字列は 111819202225
です。
A が n = 7
に対する最適な特殊和集合であると仮定し、その集合文字列を求めなさい。
注: この問題は、問題 105 および問題 106 と関連しています。
--hints--
optimumSpecialSumSet()
は文字列 20313839404245
を返す必要があります。
assert.strictEqual(optimumSpecialSumSet(), '20313839404245');
--seed--
--seed-contents--
function optimumSpecialSumSet() {
return true;
}
optimumSpecialSumSet();
--solutions--
// solution required