A2. Encode and Decode (Hard Version)
例えば各整数を長さ $10$ の英小文字列にエンコードすればよいです.($a_i$ の上限が $26^{10}$ でも解けています.)
B. Locate
まず Player B について,左端・右端それぞれの二分探索によって,$\max-\min$ が $n-1$ に等しいような極小区間を求められます.これらの両端が $1, n$ または $n, 1$ です.
Player B のクエリだけでは順列全体が $n+1-p_i$ に置き換わった状態を区別不可能で,このクエリだけで $1, n$ は区別できません.あとはこの $2$ 択を Player A が送信します.
C. Intercepting Butterflies
誤り訂正符号に関する有名構築.
$\mathbb{F}_2^5$ において異なる $0$ でないベクトルから($31$ 個のうち) $20$ 個をとっておきます.
これらを $v_i$ として,$\sum x_iv_i=0$ となる係数列 $(x_i)$ 全体を考えます.
これは $2^{15}$ 個あって,どの $2$ つを見ても成分の違いが $3$ 個以上あります.
よって,送信時に高々ひとつの誤りが入ってしまっても修正可能です.
