第5問
列 の順列 が与えられている。 と の互換は、 に対して であり、かつ を満たすとき正当(legal)と呼ばれる。順列 は、何回かの正当な互換の後に になるとき正則(regular)と呼ばれる。順列 が正則となるような数 をすべて求めよ。
ざっくり言うと
の遷移はその場でのマージソートのようなものである。 回の左移動パスによって1つおきの長さ のブロックから要素を1つずつ剥がし、隣のブロックに継ぎ足して長さ のブロックへと倍加させる。
詳しい解説
とし、順列が の状態にあるとする。 の順に、 は の直後から出発して左移動パスを行い、 以降の奇数番目のブロックの先頭要素である と次々に入れ替わる。1回のパスごとに先頭ブロック の末尾に が加わり、各奇数番目ブロックの先頭要素が直前の偶数番目ブロックの末尾へ移って、奇数番目ブロックの長さが ずつ減る。 回のパス()を終えると奇数番目ブロックは消滅し、偶数番目ブロックの長さが に倍加して となる。 のとき であるから、帰納的に に到達する。