ICPC2022国内予選 参加記

はじめに

ICPC2022の国内予選が 7/8 (金) 16:30-19:30 に行われ、筑波大学からチーム otagai_tasukeai として参加して15位となりました。

チームについて

前から知り合いで全員の熱量がほぼ同じという理由で組みました。 メンバーのレーティングは上から2350,2050,2050ぐらいですが、全員が一年以上の間ほとんどコンテストに出ていないので実力はもう少し下だと思います。
チームメンバー全員が「国内予選に通って横浜に行ければそれでいいかな……」ぐらいのやる気だったため、模擬国内以外の練習は (個人・チーム問わず) 全くやっていません。

コンテストの流れ

まずは他の2人にA,Bを任せてCを考える事になっていたので、コンテスト開始と同時にCに読み始めます。
Aを解き終わったチームメイトに概要を伝えて少し考えますが、すぐには解法が思いつきませんでした。 僕たち二人が得意でないかつもう一人なら解けそうな問題だったので、もう一人に任せてD,Eを読む事にします。
一瞬Eを眺めた後、Dを誤読防止のため二人独立に読んで問題設定の確認を行い、考察をします。
この辺りでBが解き終わり、彼に状況を伝えてCを考察して貰うと数分後に解法が出てきたので、解法の共有・確認をした後に実装を頼みました。
その後しばらくするとチームメンバーがDのアイデアを思いつきましたが、僕の理解に怪しい所があったため一度確認をしたい気持ちでした。

Cが通ったタイミングで作戦会議を挟みます。二人にDの議論をして貰う事にし、僕はEを考える事にしました。
Eのアイデアが思いつかずに唸っている間に二人がDを異なるアプローチで並列に解き始めたため、ランダムテストのためにDの愚直解を用意しました。 先に実装完了した方の解法がランダムチェッカーを通ったので提出し、残り85分でDが通りました。

筑波内最速の4完かつ他チームがDを通しても時間差で勝てそうだったため国内予選通過をほぼ確信し、落ち着いた状態で作戦会議をします。 Fが構文解析かつ阪大の2チームが通している事から実装問だと判断し、ある程度の方針ができた時点で重実装が得意なメンバーに実装して貰い、さっきと同様に僕ともう一人でEを考察する事にします。 二人で考察していると大まかなアイデアが生えたので実装を頼み、自分はEとFのランダムチェッカーを書く事になりました。 EのランダムチェッカーができたタイミングでEの解法の細かいミスに気づき、適当に修正をしながらFのチェッカーを書きますが、残り時間がわずかになってしまったため実装を諦めました。
残り4分でFの実装が終わりAC、15位に浮上しました。Eは実装が間に合わず、5完でコンテストを終えました。

感想

全員のやる気が同じぐらいでコミュニケーションも問題なく、かなり快適でした。
チーム間の問題割り振りや情報共有などはかなり上手く行っていて、能力に起因する問題 (実装に時間がかかった、ある問題が解けなかった等) 以外のミスはほぼ無かったと思います。
Cをすぐに解けなかったのは個人的な反省点ですが、模擬国内では同じ状況で重い嘘解法に手を出してしまったので、怪しい路線に走らずに得意な人間に任せる判断ができて良かったです。
模擬国内と本番で一問も問題を解けていないため、横浜では一問解く事を目標に頑張ります。