0

スマートな解決策を探している問題に出くわしました。それは基本的に組み合わせ論の問題です。

5 つのオブジェクトがあり、そのうち 2 つを選択する必要があります。同じオブジェクトを 2 回選択することができ、どの順序で選択してもかまいません。これにより、( 5 + 2 - 1 2 を選択) = 15 の可能な組み合わせが得られます。各組み合わせ (つまり、(1,1) または (2, 5)) を 1 から 15 の間の数に減らしたいと思います。何か提案はありますか?

4

2 に答える 2

3

準辞書式順序。2 番目のコンポーネントが最初のコンポーネントよりも小さくならないように、各選択に辞書式順序での位置を割り当てます。

(i,j) -> (15 - (7-i)*(6-i)/2) + (j - i) + 1
于 2012-07-11T23:40:11.500 に答える
1

組み合わせ (i, j) があるとします。

一般性を失うことなく、i <= j とします

((7-i)+5)*(i-1)/2 + (j-i+1)

あなたが持っているでしょう

(1, 1)->1 (2, 2)->6 (3, 3)->10 (4, 4)->13 (5, 5)->15

(1, 2)->2 (2, 3)->7 (3, 4)->11 (4, 5)->14

(1, 3) -> 3 (2, 4) -> 8 (3, 5) -> 12

(1, 4)->4 (2, 5)->9

(1, 5)->5

基本的に、最初に列 i の前に組み合わせの数があり、次に行番号として (j-i+1) が加算されます

于 2012-07-11T23:51:16.870 に答える