m 個の空でない個別のセット (Z[ 1 ]、Z[ 2 ]、...、Z[ m ] とラベル付け) がある場合、それぞれの要素が 1 つだけ存在するすべての可能なサブセットの合計を計算することを目指します。設定。各サブセットのサイズは、そのメンバーの積になるように定義されています。例えば:
Z[ 1 ] = {1,2,3}
Z[ 2 ] = {4,5}
Z[ 3 ] = {7,8}
結果は次のようになります。
1*4*7 + 1*4*8 + 1*5*7 + 1*5*8 + 2*4*7 + 2*4*8 + 2*5*7 + 2*5*8 + 3*4*7 + 3*4*8 + 3*5*7 + 3*5*8 = 810
これは (任意の言語で) コーディングするのは簡単ですが、これは有名な部分集合和問題の言い換えですか? そうでない場合は、この合計を計算する多項式時間アルゴリズムを提供してください (疑似コードまたは Python が推奨されます!)。多項式時間アルゴリズムが存在しない場合は、その理由を説明してください。