複数のセットの組み合わせの数に関連する組み合わせの数

  1. $ A_N ^ M $の区分(%MOD)の要件の数。そこ漸化式[I] [J] $にDPを$ $のDP [I] [J] = \ sum_ {k = 0} ^ {J} DP [I-1] [JK] $、$ $ J $ I $の合計数は、分割します。
  2. 分割数(%MOD)は$ C_N ^ M $を要する、再発式がある:$ DP [I] [J ] = DP [I]、[J-1] + DP [I-1]〜[J] $は。
    コードは以下の通りであります:
    1個の int型N、M。
    2  INTの DP [MAX_M + 1 ] [MAX_N + 1 ]。  // DP数组
    3  
    4  intが(解決){
     5      DPが[ 0 ] [ 0 ] = 1 6      int型 I = 1 ; I <= M Iは++ ){
     7          INT J = 0 J ++; J <= N ){
     8              もし - (I> = J 0 ){
     9                  DPを[I] [J ] =(DP [I - 1] [J] + DP [I] [J - I])%MOD。
    10              } {
     11                  DP [i] [j]はDP [I - = 1 ] [j]を。
    12              }
     13          }
     14      }
     15      リターンDP [M] [N]。
    16 }

     

  3. 複数のセットの組み合わせの数は、n個の項目があり、i番目の$ $のa_iをあります。アイテムのさまざまな種類が互いに区別することができますが、同じ種を区別することはできません。借入中の種のm個のこれらの項目から。
    漸化式:$ DP [I + 1] [j]はDPを= [I + 1] [J-1] + DP [I] [J] [I]、[J-1-a_iを] $の-dp
    コードは以下の通りであります:
    1  INT N-、M;
     2  INT A [MAX_N];
     3  INT DP [MAX_N + 1 ] [M + + MAX 1。];
     4  
    。5  INT ({)を解く
     6。     // メソッドは常に一つだけを取りません
    図7は、     のためにint型 I = 0 ; I <= N; I ++は){
     8。          DP [I] [ 0 ] = 1 ;
     9      }
     10      のためにINT I = 0、I <N - 、Iは++ ){
     。11          INT J =1 ; J <= M。J ++ ){
     12              であれば(J - 1 - [I]> = 0 ){
     13                  、DP [I + 1 ] [J] =
     14                      (DP [I + 1 ] [j - 1 ] + DP [I] [J ] - DP [I] [J - 1 - [I] + MOD)%
     15                      MOD。
    16              } {
     17                  DP [I + 1 ] [j] =(DP [I + 1 ] [j - 1 ] + DP [I] [J])%MOD。
    18              }
     19          }
     20     }
     21      リターンDP [n]は[M]。
    22 }

     

おすすめ

転載: www.cnblogs.com/romaLzhih/p/11415506.html
おすすめ