ICPC yokohama Reigional 2024 参加記
ICPC yokohama Reigional 2024にチームSazanka で参加しました!
既に1か月以上経過してしまいましたが、せっかくなので参加記を書きます。
はじめに
書く?書かない?と迷っている間に1か月経ちました....。早く書くべきでした。
チーム紹介
横国の競技プログラミングサークルから参加しました。毎年チーム分けコンテストの結果でチームを組んでいます。
Rogi先輩が最後のICPCということもあり、playoffまで行くことを目標に参加しました。
コンテスト
開始と同時にA,Bをharelさんが、Rogiさんが後ろから順に、私がCから順に読みます。とにかく完数を最大化することを意識して、解ける問題を落とさないようにします。
harelさんがAを通してBを実装している段階で、私はCとDを交互に睨み続け、残りをRogiさんが読んでくださいました。Eは構文解析、IはMo、Kはゼータ変換でいけそうですねーという話になり、かなりよいペースで考察が進んでいてうれしくなります。そんな中、Bが書き終わり提出したのですがWAが出ます。
コードを見てもバグの箇所がわからず、Rogiさんが思い切って全部書き直しをします。...->AC!さらに、書き直している間にCが最短経路木を作ればよいことに気づいてこれもAC!!
続いてKの実装をRogiさんにおまかせし、harelさんにGを読んでもらいます。私はJをどうにか解けそうな形に落とし込むべく工夫していましたが一向に進みませんでした。一方harelさんがGの大体正解のようなアルゴリズムを発見していました。わかったはいいけど実装が重すぎる...Kも難なくACし、Iを書くかGを書くか迷いますが、Gがとてもパッとかけるような内容ではなさそうなので、交代して私がIを書きます。初めて使うライブラリということもあり戸惑いましたがしっかりとAC。harelさんにGをおまかせします。
ここから進捗がない時間がたくさん過ぎました。Gのコードも複雑化し、先にEを書いてしまったほうがよさそうだったので途中でRogiさんに交代しACします。
ここで、Fをあまり見ていないことに気が付きます。んー、、なんかヒューリスティックしたくなるなー、、、
私 Rogiさん、これ絶対やまのぼりできるはずです!
Rogiさん いまこそその時ですよ!やっちゃいましょう!!
そんな会話をしたことを覚えています。もう少し考えると、面を固定して3分探索の中身で3分探索をするやつのほうが実装が楽そうという話になり、少しの間PCを貸してもらって実装します。しかし、全然違う出力が返ってきます。harelさんにPCをお返しし、デバッグを進めますが、結局解けず終了...
結果
6完で31位でした。全力でやりきれた満足感と、playoffには到底いけなさそうな結果のくやしさとで複雑でした。
反省
反省した点が2点あります。(私個人の反省になります)
ひとつは、コーディング速度含めた実装力の低さです。本番は普段使っているJIS配列のキーボードではなく、US配列のキーボードを使わなければなりません。1か月前ほどから練習をしたのですが、甘すぎました。また、普段のコーディングも早く書くことを意識するべきだと痛感しました。
もう一つはデバッグ力の低さです。普段のAtcoderのコンテストでも、バグらせて、原因のわからないまま終わることが多々ありました。F問題では、アルゴリズムは合っていて、実装でどこか不具合があると決めつけてしまっていたのですが、実際間違えていたのはアルゴリズムのほうでした。プログラムの途中などで何が起こっているのか把握するためにも積極的に途中経過をプリントするなど、自身のデバッグ方法の見直しをするべきだと感じました。
最後に
初のyokohama Reigionalでした。とても楽しむことができました。運営の方々、本当にありがとうございました。また、コーチをはじめ、応援してくださっていた方々もありがとうございました。