/ 最近 .rdf 追記 編集 設定 本棚

脳log[20251012]



2025年10月12日 (日) [AtCoder] 今日は AtCoder Regular Contest 208 (Div. 2) があった。前回の ARC (Div.2) があったときは緑に落ちていたので Unrated で参加したが、今日は水色なので Rated で参加した。配点が 5-6-7-7-11 なので、欲張れば2問解きたいところだけど、1問も解けない可能性も十分にある。■A 問題「Bitwise OR Game」。Nim とか Grundy 数とか理解できないんです。どう落とし込むかを考えるところにすら立てない。■B 問題「Sum of Mod」。最初は mod の左右の項を取り違えていた。同じか小さい数で、同じか大きい数の mod を取るのが正しい。前の項にいくつプラスしたかの合計を K にしたいが、前の項の大きさマイナス1までしかプラスできない。前の項が小さすぎると、プラスできる上限が低くて、結果として数列の長さが伸びる。早く +K を達成してしまった後は同じ値を並べて項数を水増ししつつ末尾の項の値を増やさないでいられるので、問題はどれだけ遅く N 項以内で +K を達成できるかに限られる。そしてそれは初項の大きさのみに依存する。二分探索で。■C 問題「Mod of XOR」。結果を書くと、3通りの方法で答えの候補を探し、該当がなければなしと判断した。n^C mod n = X とはどういう意味か。とりあえず X<n が必要だけど、これは別に答えを規定しない。n^C が n より小さくなるとき、n^C = X であり、n = X^C。これが答えの候補の1つ。では n^C が n より大きくなるとき、n^C = n+X であり(本当? n+n+X は? 知らない)、当然のこと X<=C であるはず。X<C の場合は知らず X==C のときはテキトーに大きなフルビットの数((1<<31)-1 とか)^X が答えの候補になる。これが2番目。これが ABC の問題や 300 点 400 点の問題ならもう提出してしまうけど、700 点なのでまだ手を尽くす。数ビット程度のランダムケースと愚直解を眺めていると、他にも答えの候補があるが見つけられていないとわかる。いくつかのケースでどうすれば C と X から N が導き出せるかビット列をずーっと眺めていたら、C-X が偶数のとき、つまりこれが X<C のケースなのか、(C-X)/2 にテキトーに大きなビットを補ったものが答えの候補になるらしかった((1<<30)+(C-X)/2 とか)。これが3番目。残り時間が5分だったので時間切れにならないように注意しながら数分を使って愚直解と答えを突き合わせてももう未知の答えはないらしかったので提出して AC だった。A 問題が全く望み薄だったおかげで B と C に使う時間が十分に確保できたのが良かった。■コンテスト成績証。1803 の青パフォでした。