方針
同じ符号が連続する最大の長さを、符号列の連続ブロックで数える。(1)は の例外を確認し、 では1つだけ違う符号が端または内部にある4通りを数える。(2)は全符号反転で2個ずつ組にする。(3)は のため、長さ のブロックが高々1つ、ただし 偶数かつ では2つあり得る、という分け方で数える。
解答
(1)
まず のときは、最大の長さが となる列は の2通りであるから である。
以下 とする。最大の長さが となるには、長さ の同符号のブロックが1つあり、残り1個だけが反対の符号でなければならない。反対の符号が左端にある場合と右端にある場合、さらに全体の符号を反転した場合があるので、該当する列は4通りである。したがって である。
(2)
任意の符号列について、すべての と を入れ替える。この操作をしても、同符号が続く部分の長さは変わらない。また、入れ替えた後の列がもとの列と一致することはない。したがって、最大の長さが である列全体は2個ずつ組に分けられる。よって、その個数である は偶数である。
(3)
まず のときは、すべて またはすべて の2通りなので である。
次に とする。このとき長さ のブロックは2つ同時には存在できない。長さ のブロックの符号を先に決めると2通りである。ブロックの左に 個、右に 個の文字があるとすると である。ブロックのすぐ左またはすぐ右に文字がある場合、その文字はブロックと反対の符号でなければならない。残りの文字は全部で 個または 個となり、どのように並べても長さ を超えるブロックはできない。 とおく。ブロックが端にある場合は2か所あり、それぞれ 通りである。ブロックが端でない場合は か所あり、それぞれ 通りである。したがって個数は である。つまり である。
最後に、 が偶数で の場合を考える。このとき上と同じ数え方では、長さ のブロックが2つある列をそれぞれ2回数えている。したがって、 として得られる から2を引き、 である。
以上より、 ではである。
別解
解法2
方針
符号列を連続ブロック長の組、すなわちnの合成と対応させる。最初の符号2通りを掛け、k≥n/2では長さkの部分が高々1つであることから合成を数える。
解答
符号列は「最初の符号」と「各連続ブロックの長さ」によって一意に決まる。したがって符号列は、 の合成1つにつき最初の符号2通りに対応する。
(1)
では合成の最大部分が となるものはの2つである。最初の符号を掛けて4列だから では である。
(2)
最初の符号は常に2通りなので、どのブロック長の合成に対しても符号列は2列ずつ現れる。よって は偶数である。
(3)
とし、 と置く。長さ の部分は1つだけである。その左側の和を 、右側を とする。正整数 の合成数は 、0の合成は空列1通りなので、印を付けた部分 の置き方は最初の符号2通りを掛け、 のときは合成 が印を付ける部分の選択により2回数えられるので、符号列2通りを引く。したがって
総評
難度8、計算量7。目安時間は32分。最大連続長を数える問題では、長さ のブロックを1つ指定してから両側を数えると整理しやすい。 ではブロックが1つしか置けないこと、 では2つ置ける場合だけ重複が起きることが核心である。(1)は だと一般式の状況と重なるので、端の例外を一言処理しておくと答案として堅い。