方針
回目で初めて終わるには,最後の500回がすべて表であり, ならその直前の 回目は裏でなければならない。したがって,その前の長さ の列に「表500連続」が現れないものの個数を数えればよい。 ではすべて許されるので(1)が一定になる。(2)は の禁止列を直接数える。(3)は長さ の許される列の個数を とし,末尾に1回分を付け加えたときに新たに表500連続ができる列だけを引く。
解答
表を ,裏を と書く。 回目で終わるためには,最後の500回,すなわち 回目がすべて表でなければならない。また のとき, 回目も表であると,500回連続の表は 回目以前にすでに完成してしまう。したがって では 回目は裏である必要がある。
(1) とする。このとき 回目で終わる列はの形である。最初の 回は長さが高々499なので,その中に表500回連続は起こり得ない。したがって自由に選べる。
よってそのような列の個数は 通りであり,全事象は 通りだから である。これは によらず一定である。
(2)
まず のとき,最後の形はである。最初の500回の列のうち,すべて表である1通りだけは,その時点で終了してしまうので許されない。したがって である。
次に のとき,最後の形はである。最初の501回の中に表500回連続が現れてはいけない。長さ501の列で表500回連続を含むものはの3通りである。よって である。
したがって(3)
長さ の表裏の列のうち,表が500回続けて現れないものの個数を とする。 では, 回目で終わる列は の形であるから, である。 とし, とおく。このとき である。長さ の許される列に,次の1回を付け加えて長さ の列を作る。単純には 通りあるが,最後に表を付け加えたことで新たに末尾に表500連続ができるものを除かなければならない。
そのような列は,長さ の列の末尾499個がすべて表で,その直前が裏であるものに限られる。なぜなら直前も表なら,長さ の時点ですでに表500連続ができてしまっているからである。残りの前半部分の長さは であり, なのでこの前半部分の中に表500連続は起こり得ない。したがって除くべき列は 通りである。
よって である。したがってここで だからよって で である。
回目で初めて終わる列は
「許される前半」 と一意に分解できる。
総評
「最後の500回が表」だけでは初めて終了したことにならないため,その直前が裏であることと,さらに前の部分に表500連続がないことを分けて数える必要がある。想定時間は25分前後,難易度は7,計算量は6程度。(1)は前半の長さが499以下なので自由,(2)は長さ500・501の禁止列を直接数える,(3)は許される列の個数 の差分を使う,という段階的な整理が有効である。 では前半部分の長さが高々499になるため,除外数が と単純になる点が核心である。