公式

C - PORALIS 解説 by hint908

解説 (tester 解)

\(P~\mathrm{OR}~a = (P_1~\mathrm{OR}~a, P_2~\mathrm{OR}~a, \dots, P_N~\mathrm{OR}~a)\) とします。

\(N=1\)

\(P = (0), A=(0)\) とします。

\(N=2\)

\(P = (0, 1), A=(1,0)\) とします。

\(N \geq 3\)

\(N = k\) のときの解を \(p, a\) とし、整数 \(X\)\(\max(p, a) < 2^X\) を満たす \(X\) のうち最小のものとします。

\(N=k+1\) のとき、\(P, A\) はそれぞれ以下とすればよいです。

  • \(P\) は、\(p\) の末尾に \(2^X\) を追加した数列
  • \(A\) は、\(a\) の先頭に \(2^{X+1}-1\) を追加した数列

\(N = 2k+1\) のとき、\(P, A\) はそれぞれ以下とすればよいです。

  • \(P\) は、\(p, p~\mathrm{OR}~2^X, 2^{X+1}\) をこの順に連結した数列
  • \(A\) は、\((2^{X+2}-1, a_1 + 2^{X+1} , a_1, a_2 + 2^{X+1} , a_2, \dots, a_k + 2^{X+1} , a_k)\)

投稿日時:
最終更新: