茶碗蒸しの雑記帳

競プロ周りの雑記

ICPC2025横浜参加記

書くタイミングがあまり無かった

ICPC 2025 Asia Yokohama Regional に参加しました。チーム名は O1_Practice で(オーダーワンプラクティスと読みます。 O(1)_Practice としたかったのですが括弧文字が使用できなかった記憶)、5完17位でした。 ICPC は4年目、横浜は2年目ということで緊張感は去年よりは無く参加できました。

チームメンバー

青黄青でお送りします

  • tyawanmusi

    • 最近 AtC のコンテストに全然参加していない(けど Atcoder Daily Training はやっている)
  • dyktr_06

    • 毎週コンテストに出ている偉い人、ライブラリマニアなのでライブラリはこの人頼り
  • sepa38

    • 最近 AtC のコンテストに全然参加していない(なにしてるんだろ)

1日目

11時半くらいに関内にチームで集合し、こちらのお店でお昼を食べた。 cona-kannai.owst.jp ランチが1000円弱で食べれてとてもよかった(私はグラスワインをいただいたけど)。コーチのNafmoさんが奢ってくれて嬉しいです。

ご飯を食べたら会場へ。パッと思いつく去年との変更点としては、ソファ問題Tシャツとトランプが配られたこと、リハーサルで風船システムが実施されたことでした。

開会式が始まるまでババ抜きと大富豪で遊んでいました。トランプが光で透ける仕様だったのが少し許せないです。開会式では例年通りチーム紹介は sepa 君に投げました。

リハーサルではUS配列に苦しみながらインタラクティブ問を解いていましたが、適当にやって3ペナしてしまいました(酒飲んでるからだろと煽られた)。あと問題の封筒を破り開けるときに指を切ってしまって過剰なストレスを感じました。

晩御飯は家に帰って食べました。身内でvalorantのカスタムが発生したので1時半くらいまで遊んで、就寝しました。

2日目

荷物は必要最低限のもの以外持ちませんでした。会場でもらえる軽食を朝ごはん代わりにしてやろうと考えてました。

6時半くらいに起きて会場まで行きました。とても寒かった。

電車の中で名札用のネームカードをスマホで作りました。写真L判サイズでコンビニ印刷して半分に切ると綺麗に2枚になります。(ハサミを忘れてしまったが)

去年と違い会場に荷物を持ち込めず、必要最低限のもの以外置いていくことになった。私とsepaくんはライブラリもマスコットもないので"ガチ"手ぶらになってしまった。

コンテスト時の内容は下に書きます。コンテスト後は9階に移動して、閉会式が始まるまで名札作りしていました。ハサミを貸してくれたdyktrくんありがとう。

凍結前12位だったので20位くらいまで落ちるかと思いましたが意外と耐えて17位、解くスピードが速かったのが効きましたね。

懇親会では名札効果で去年よりもいろんな人と会話できました。全人類名札を持ってきてください。話しかけやすくなるので。あとNafmoさんの交友関係が広く、Nafmoさんについていくといろんな人に会えてよかったです。

あと、ここでいろんな企業のステッカーを貰って自分のPCに貼り付けておくと、なんかカッコイイ感じのPCになるのでお勧めです。

懇親会の最後まで居座ってそのまま帰りました。ラウンドワンとかGiGOとかうらやましいですね。来年までにtwitterを動かして交友関係を広げておかないとな~になりました。

コンテスト中

sepaくんがパスワード入力でWAを出して、そのまま何かやらかしたらしく、スタッフの方がぞろぞろ集まっているのを横目に問題をdyktrくんに開けさせ、問題を眺めました。

Dがサンプルを見るだけでわかるやつで、一応誤読がないかチェックしてから解きました。 2×10N ~ 2×10N+1-1 について10Nと分割するようにしていましたが1ペナ、112でhackされて、面倒くさくなって全探索を書いて13分1ペナで通しました。

sepaくんがEを解いてくれるらしいので、他の問題をdyktrくんと共有しながら流し読みしていました。

第一印象で解けそうなのがABCHIJだったので、Aから解きます。座標圧縮して、列の状態を4パターン持って、手前から埋めていくDPが有効そうだったのでPCが空くまで正当性を考えてました。

sepaくんがEを0:30にノーペナで通してくれたので褒めながらAに取り掛かります。DPで持つ各列の状態が4パターン、初期盤面の列の状態が4パターンなので、かなり遷移は面倒でした。1回でもWAを出したら詰むタイムの実装だと思ったので、ちゃんと手元で図を書きながら間違えないように丁寧に実装しました。1:08にノーペナACすることができ、FA+6位だったのでかなりテンションが上がりました。

sepaくんがHを解けると主張するのでPCを渡して、dyktrくんと問題の相談をしました。順序はわかりませんが、主に

  • Bは無理そう

  • Cは[1,2]の間に必ず区間の左端が来て、[3,1]の間に必ず区間の右端が2つ来るので、これらの端を上手くマッチングさせる方法を考えたい。

  • Gは数え上げ強者がいたらいいね。

  • Iは空マスが連続する区間を抜き出して、区間の端っこがAかBか盤面の端かで場合分けをし、それらの区間がA,Bの操作回数にどれくらい寄与するか考えたい。

  • Jは"ICIC..."と"PCPC..."の列を交互に並べたら条件を達成できる(もう1パターンは後で発覚)。

1:33にsepaくんがHを解いてくれました。ここが最大瞬間風速で、3位でした(びっくり)。

あとはグダグダでした。私がJの実装方針が完全にできていないのに書き始めてWA→hackできないため1から書き直してWA→ここで"IPIP..."と"CCCC..."の構築例に気付く...や、dyktrくんがIやCを書いてくれたがどっちも通せず、IはhackできずCは嘘解法で...

結局Jは3:47に3ペナでAC、CとIは通せずに終了でした。悔しいね。来年は頑張ります。

宣伝

2/28(土)に電気通信大学(東京/調布)でオンサイトコンテストMMA Contest 021が開かれます~!

MMAとは電気通信大学の技術系サークルです。私は所属していません。writerはやります。

3時間で12問くらいを想定した初中級者向けのセットらしいです。上級者も来てね。