2019年10月8日火曜日

いろはちゃんコンテスト Day2 E - 連呼

いろはちゃんコンテスト Day2 E - 連呼

AAAが登場しない列を数えて(N+M2N)\binom{N+M-2}{N}から引く方針が良さそう。

とりあえず、最初の文字と最後の文字の制限がないとして考えてみる。AAAが登場しない列とは、AAAMM個のBの間に挿入してできる列である。Add個にわけるとして、Axx個、AAyy個になったとすると、

x+2y=Nx + 2y = N

x+y=dx+y = d

より、y=Nd,x=2dNy = N-d, x = 2d-Nと整理できる。AAAの並べ方は(dy)\binom{d}{y }通りあり、MM個のBへの挿入の仕方は(両端を含めると)(M+1d)\binom{M+1}{d}通りある。したがって、総和はd(M+1d)(dy)\sum_d \binom{M+1}{d}\binom{d}{y}となる。(有効なddについてだけ計算する。)

さて、最初の文字がAで最後の文字がBという制限を満たすものを数える。最初がABから始まるパターンとAAから始まるパターンにわけて数えることにする。

最初がABから始まる場合、最後がBなので、AB·B·...·B·で示したM1M-1箇所から選んでAAAを挿入することになる。総和はd(M1d)(dy)\sum_d \binom{M-1}{d} \binom{d}{y}である。ただし、x+2y=N1,x+y=dx+2y = N-1, x+y =d だからy=N1dy = N-1-dである。

最初がAAから始まる場合、AAB·B·...·B·で示したM1M-1箇所から選んでAAAを挿入することになる。総和はやはりd(M1d)(dy)\sum_d \binom{M-1}{d} \binom{d}{y}である。ただし、x+2y=N2,x+y=dx+2y = N-2, x+y=d だからy=N2dy=N-2-dである。