ICPC2020 国内予選参加記

チームメイトは

risujiroh(去年に引き続き)

Rubikun(今年から)

 

ICPCに参加する為に...

f:id:kort0n:20201107010753p:plain

え?

弊専攻は毎週金曜日に輪講があり、何と自分の担当日が国内予選当日になっていた

当然これでは参加出来ない

まあなんか個人間で適当にswap交渉さえ出来れば日程変えてもらえるだろう

 

...と甘く考えていたのだが、日程変更の許可が降りない 国内予選エントリー部門敗退です。有難うございました...

 

結局あの手この手こねくり回したら何とか日程swapが通った 良かった(同期のICPCに参加しない競技プログラマに変わってもらった ありがとう...)

 

コンテスト前日

 ?笑

 

ノリと勢いで†ASCII Expression†まで通してしまった これで構文解析も万全だな!

 

コンテスト当日

早めの1時間前集合 色々話しているとコンテスト開始時刻になる

...が、ログイン出来ない

これうちだけなのか?ICPCは初動が大切なのに...

かなり空気がピリピリしてくる

 

冷静になって緊急連絡先に電話をすると話し中になっているので、少なくともうちだけではないと考えて落ち着く

暫くするとログイン出来るようになる

「『不具合があった為開始しませんでした。○○分からコンテストを開始します。』とかアナウンスあるんだろうね~」とか言いながら適当にリロードしていると突然始まってビビる

 

このチームはずっと初動をレート順で

A:Rubikun

B:risujiroh

C:kort0n

にしていたが、模擬国内等でRubikunの低難易度問題の方針の選び方が上手いという話になり、AとBの担当をswapすることになっていた。

 

開始して即Cを読む 多分遅いけどまあ待てそうだなという解法を考えて実装する

サンプルは通ったのでテストケースをダウンロードして実行する

 

...流石に遅くないか?

 

とても待てないレベルだったので考え直す こういうことをしているうちにABが通っていて、他の2人はDEを考え始めていた

 

暫く考えるがまともな解法が全く思いつかない

(初めから分かっていたことではあるが)約数列挙を高速に行えばまあ待てる程度の実行時間で終わるコードは書けるので、高速素因数分解ライブラリを持っているrisujirohに泣きついて担当を変わってもらう

その間にRubikunがEの解法を出し、あまり実装に自信が無いので実装してほしいと言われる 実装を始める

暫くしてCが通る この時点で完全に冷えていて、空気がとても重かった 見ると余計に焦りそうで順位表を見る気にもならなかった

 

Eを実装しているうちにRubikunがDの解法を出したようで、risujirohとRubikunで適当に分担してDの実装を始める

Eのサンプルが合い、提出すると通る その数分後Dもサンプルが合ったようで、通る

 

この時点でムードがやや明るくなったが、序盤のペナが重いのとFを通しているチームがそこそこあるということで、まだ油断は出来ないという空気に(結果的にはこの時点で通過が確定していたが...)

 

流石にあと1問通せば通過確定なのでGHは放置して3人掛かりでFに取り組むという話になっていた(これは最後F担当とG担当に分かれてしまった模擬国内の反省が生かせていた)

 

暫くするとrisujirohがFのかなり見通しの良い図示を行う それを見ていると解法が生えたので、実装を始める

サンプルが合う 1度提出するとWAだったが、小さなバグに気付いて修正して提出すると通る

この時点で流石に通過を確信して、かなり気楽になった

その後はGHをやる

 

risujiroh「H、未証明エスパーだけどこんな感じで出来そう!」

kort0n, Rubikun「うーん、GO!W」

 

その間にGをとりあえず線型計画問題に緩和して立式してみる 双対問題を取ろうとしたが、何か凄いことになって天を仰ぐ

いやそもそもこういうのはrisujiroh担当なんだよね あいつ今何やってんの?

→Hをやってました ごめん...

 

暫くするとrisujirohが実装を終えるが、サンプル4が合わない

図示すると、最初のエスパーが明らかにヤバいケースが見つかる

 

kort0n「じゃあ、新しいこういう未証明エスパー解法!」

 

と適当なことを喋って実装してもらう

実行するとサンプルは合うが、何故かバカみたいに遅いらしい

怪しい枝刈り等をしつつテストデータを実行してみるがWAで、そのままコンテスト終了

 

f:id:kort0n:20201107013903p:plain

3位で国内予選通過!

Cで詰まったときは完全に心が終わっていたが、結果チームメイトに助けられて通過出来たので良かった

「去年は4位で今年は3位だから順位1つ上がったね~」等と言っていたが、自分の上にいるチームのメンバーを考えると実は去年と本質的に殆ど変わっていないことに気付いて泣く

 

ちなみにGの立式を後でrisujirohに見せたら「これ何もかも間違ってるよ」と言われる 計算用紙を捨てる さようなら

 

 

横浜でお会いする皆さん 宜しくお願いします