はるすえすしーのぶろぐ

ブログのないようがないよう

ICPC2023 国内予選 参加記

2023年7月7日に行われたICPC2023国内予選でチームTUTankhamunとして参加して、4完41位(301チーム中)でした。国内予選通過です!!!

順位表

チーム

メンバーはecasdqinaMATSUMAThals(ぼく)。AtCoderの色は

ICPCまでに水色になろうと思っていたのですが、間に合いませんでした。

チーム名 "TUTankhamun" の由来 ・・・ 大学の略称TUTと、ツタンカーメン王を掛けている。2年目にして、未だにスペルが覚えられないことで有名。

本番まで

6/24の模擬国内予選のときに本番と同じ部屋で練習をした。模擬国内の結果はABCFの4完26位。ボーダーは超えたけどぼくのD問題誤読によって-1完……。

問題の解法とかはエカスドくん視点の模擬国内参加記をどうぞ。

ecasd-qina.hatenablog.com

本番の方針は、エカスドくんが主戦力、他二人が先読みで、しっかりサンプルを手元で解いてから伝える・とにかく誤読を少なくする、でした。

国内予選当日

11時ぐらいに起床し、干しておいた去年のICPC Yokohama RegionalのTシャツを着る。模擬国内でめちゃくちゃ喉が渇いた経験から、人数分のお茶とラムネを買いに行く。

14時ぐらいからやることリスト・印刷するライブラリの共有・リハーサルの提出などをするも、松くんだけDiscordの返事がない。

15時に大学到着。エカスドくんから松くんの生存確認を頼まれ、行くことに。「起きてくださーい!」(扉ドンドン)で松くんを起こす。

(ここで昼寝していてくれたことでC問題が解けた可能性もあるため、これからICPCに出るみなさんは昼寝をしていくといいかもしれません)

15時半に全員集合し、PCのセットアップ・プリンターの接続をやるも、どちらも調子が悪い。プリンタがどう頑張っても検出されないので監督員の先生に頼んで研究室にある別のプリンタを持ってきてもらう。

16時10分、無線でプリンタ印刷しようとするも謎のエラーが発生。

15分、USBで直接印刷しようとしたがPDFを読み込めない。

20分、「これもしかしてライブラリ持ち込みなし、問題印刷なしで挑むことになるのでは…?」みたいなオーラが漂い出す。

しかし16時25分、有線でコードをつなぐことでなんとかライブラリ・メールを印刷できる。多分印刷が完了したのは開始2分前とかだった気が……。

教訓1:15時半まで昼寝するとよいです。
教訓2:リハーサルの時にプリンタの接続を試しておいたほうがよいです。

開始後

A問題をエカスドくんが読み、実装。その間に松くんがB問題、ぼくがC問題を読む。エカスドくんが難なくA問題をAC(4:45)。

B問題の概要を松くんからエカスドくんに伝え、実装に取り掛かってもらう。ぼくからC問題の概要を松くんに共有する。なんとなく解けそうとのことで、解法を考えてもらう。

エカスドくんがB問題をAC(21:29)。松くんが市松模様で行けそうだけど、奇数の時に壊れるからどうしよう?となる。

松くんにC問題の解法を引き続き考えてもらいつつ、いったんD問題の方に取り組む。ぼくはDPとかなんかな~と思ってたけど、状態数が大きすぎる。B進数と2のべき乗で状態数を減らせそうということで実装してもらうも、WA。

C問題に戻って色々うんうん考える&E問題~を一応読んでおく。問題の意味が理解できるのがE問題しかない(解けるとは言ってない)。Fは幾何だしGは問題の意味が分からんしHは絶対難問。

唐突にエカスドくんがD問題の解法を思いつく。20~26で全ての組み合わせを作成可能なので、答えの最大値は7となり6以下を全探索すればよさそう。AC(2:04:09, 1ペナ)。

この時点で61位とか。予選突破の可能性は「ギリのギリなくはない」ぐらい。なんとしてでももう1問は解きたい。

↓実際、18時53分(2:23:37)時点で66位(65位がボーダー)だったので、4完してなかったら終わりだった。

長岡技科大と豊橋技科大が並んでいた時間(友達撮影)

ワンチャンE問題が簡単な可能性を模索するも、やっぱりC問題を解くしかない。

Nの偶奇で場合分けし、さらにN/2の偶奇でも場合分けをしていく。手元チェッカーでバグるたびに原因を探して改善していき、ついに終了15分前になんとかAC(2:44:40)! 各サンプルについて答え合わせができるタイプの問題で本当に助かった。

※↑あたかも僕がやったかのように書かれている部分がありますが、実際にはF問題のケース3をどうやって凸多角形にするのかな~ってノートでお絵描きをしていただけです。反省。

終了

Tutankhamunは41位で、なんと2年連続でYokohama Regional行けるっぽい!!!やったぁ!!!

昨年(ICPC2022 国内予選 参加記 - はるすえすしーのぶろぐ)が45位だったので去年より少しだけ順位を上げました。企業賞が43位だったので非常に惜しいんだけど、それは求めすぎか……。

チームメイトたちがC問題に取り組んでいるとき、ぼくもいろんなパターンを考えることができたはずなのにやらなかったのは他力本願が出すぎていてダメだと思いました。解法が思いつかないなら色んな場合を考え続けるしかない!!!

あと今度こそ水色になるのを目標にやっていきます。

会場の片付け後、お疲れ様会でラーメンを食べました。

おいしかったです

最後に

今年度で松くんが卒業なので、チームメンバーを募集しています。現B4以下の技科大生、もしくは技科大に編入しようとしている高専生の方興味はありませんか? もし2人以上の応募があれば、ぼくが抜けます(泣)。

読んでいただきありがとうございました。

追記

https://github.com/shogo314/icpc_replay を利用してチーム順位を可視化しました。じりじりと80位以下まで後退していく時間が続き、最後にありえないほどグンッと上昇しています。