Official

D - Binomial Coefficient is Fun Editorial by gazelle


  • \(B_i\) の値
  • \(B_i\) 個から \(A_i\) 個を選ぶ場合の数

を同時に考慮することを考えます。 \(\sum A_i\) の値を \(S\) とします。

一列に並んだ \(M + N\) 個のマスから、\(S + N\) 個を選んで黒く塗ることを考えます。ここで、

  • 左から \(A_1 + 1\) 個目の黒マスより左側のマスの数を \(B_1\) の値、またその中に含まれる黒マスの配置が \(B_1\) 個から \(A_1\) 個を選ぶ選び方

  • \(A_1 + 1\) 個目の黒マスより右側で \(A_2 + 2\) 個目の黒マスより左側のマスの数を \(B_2\) の値、またその中に含まれる黒マスの配置が \(B_2\) 個から \(A_2\) 個を選ぶ選び方

    \(\vdots\)

をそれぞれ表現していると思うことで、先述の \(2\) つの値を同時に考慮して数え上げを行うことができます。よって、問題の答えは \(\dbinom{M + N}{S + N}\) です。この二項係数の値は、二項係数の定義に従って \(O(S + N)\) で計算することができます。

posted:
last update: