yukicoder No.1100 Boxes
解法
まずボールが1つも入っていない箱の数を固定します。これを とすると、その選び方は 通りです。
その上で、残りの 個の箱全てにボールが入るような場合の数を求めます。これは包除原理を用いて
と求めることができます。
先ほどの と合わせて、二項係数を階乗の形にすると、これは結局
を、 かつ かつ の範囲で全て足し合わせれば良いことになります。
これは2重ループですが、NTTを用いた畳み込みで計算できる形になっています。具体的には先ほどの式を
( とする)
の積として分解できるので、 と を畳み込んだ後に を掛け、 の範囲で全て合計すれば良いです。