Testing Round 20 (Unrated, Communication Problems)

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$ 個以上あります.

よって,送信時に高々ひとつの誤りが入ってしまっても修正可能です.

CodeForces
スポンサーリンク
シェアする
maspyをフォローする
maspyのHP
タイトルとURLをコピーしました