迷いませんか?

継続しないを座右の銘に

ICPC 2020 国内予選 参加記

ICPC 2020 国内予選 参加記

ICPC2020国内予選に参加したので参加記を書きます

去年は予選の参加記は書いてないんだけど今年はなんかみんな書いてるので書きます

チームについて

去年は同級生2人と組んでたんですが今年はレートの高い上級生二人と組みました
友情をないがしろにして勝利のみを追い求める姿勢、最終的に負けるタイプのキャラっぽい

春ぐらいで既にチーム自体は組んでたと僕は勝手に思い込んでるんですが、 片方のチームメイトがコドフォバチャを毎日やっている異常者すごい人になっていて コドフォのレートは当たり前に越されてレッドコーダーになり、予選が延期されて更にRatedが増えたことでAtCoderもすっと抜かれました、早く橙になってください

もう一人もなんか考察力があり、自分の居場所が有りません、なぜこんなことに…(精進してないからなんですが…)

アジア予選までには精進したい(これは今までに何回も言っています)

ちなみにチーム名はAntitledです
僕が考えたわけじゃないので由来とかは言わないんですがとても気に入っています(去年のチーム名も結構気に入っています)
ただ今日チーム名で検索してみたら某有名アイドルグループのライブ名とかになったことあるっぽい、同じぐらいのセンスということで…

と思ってたんですが、ちゃんと調べてみると普通にライブ名はuntitledで、単に英語に弱い方々がスペルミスをしてただけっぽい気がしている
なんやねん

模擬国内予選

とりあえずついでに模擬国内予選も書きます

確か5完ぐらいでした
全然覚えてないのでこれぐらいしか書けません

ただ模擬国内予選は結構僕が活躍できてたような気がする

国内予選前の夢

国内予選の数日前に予選に出る夢を見ました

すごい分担をしていて、なぜか参加者が全体的に強くて異常ペースでACされていっていた
うちのチームも強いんですが、僕が担当の問題を読むだけ読んで通したつもりになって最終問題の考察に移ってしまい本来よりも1完少なくなってギリギリ予選落ちしそうだった

この夢のおかげでチーム内で報告しまくろうという意志が生まれました、実行はそこまでしなかった気がするな…

当日

3時ぐらいに就寝
午前中にプログラミングの授業があるので頑張って起きて課題を解いて一瞬で睡眠した
なんとか12時半に予定通り起きれたけど実は危なかったかもしれない

リハーサルをしなきゃということで、時間を合わせようとしたんですが厳しそうということで各自でやることに

前日にTwitterでASCII Expressionが話題になっていて、こんなの人間が解く問題じゃないだろとか言ってたんですが、暇になったので解くことにした
時間も測ったところ、30分ぐらいで大体できて天才かもしれないな…となってたんですがvectorでポインタを管理してそれを参照してたせいでバグったり、それを修正したらすべてが破綻したりと苦しんでいたら2時間かかってしまった

12時半に起きて昼ごはんを食べてASCII Expressionに2時間かけてることから簡単にわかるんですが、リハーサルやってません
チームメイトに詰められたらどうしよう…とビクビクしてたけど詰められることはなかった、ありがとう…

その後は少しダラダラしていて、16時ぐらいになるとお腹が空いてきたのでコンビニでチョコやホットスナックを買ってくることにした
家を出たのが16時15分ぐらいで、家のすぐ近くにあるから大丈夫だろ!とか思ってたらQUIC PAYがなぜか使えなくて手こずったりしたおかげで家についたのが16時28分ぐらい
そして通話に29分に入って急いで準備をした

なんとか30分にはコーディングできる状態になってたのでセーフということにしてくれませんか

問題

ここで突然ですがウミガメのスープです

考えてみてください

解答

30分に間に合ったので意気揚々とコンテストページでリロードするとチーム情報がありませんみたいなことが言われ、問題を見ることができなかった

流石に全チームこうなってるやろwと思いつつ、自分たちのチームだけだったら流石にハンデがやばすぎるのに加え大した措置も取られないだろうということで焦り始める

コンテストページに入れないので連絡先わからないが???と言ってるとチームメイトがログインページにContact Infoというのがあるのを見つけるが情報が何も見えない

そこで国内予選の情報のメールを見ると緊急時はこの電話番号に電話してくださいみたいなのが見つかるので、チームメイトで誰が電話するのか押し付けあってると自分が電話することに

なけなしの社会性と勇気を振り絞って電話を掛けると「現在電波の届かないところにあるか、通話中のためつながりません」というメッセージが流れる

おかげで他のチームも同様の現象が起こっていて電話が殺到しているのだろうとわかり安心した


ところでどうやってコンテストの再開のアナウンスとかされるんだ?と思いながら危うく食べる時間が無くなりそうだったコンビニで買ったチキンを食べ始めるとコンテストページがプラクティスの状態になる
ワクワクか~?と思いながらもぐもぐしていると本番が急に始まり、食べてる途中でチキンを投げ出して自分の担当であるB問題を実装した

A問題とC問題は他のチームメイトが担当で、A問題はすぐ通ったもののC問題が難しかった

とりあえず愚直が書かれていて、パソコンのスペックが不安ということで僕の手元でも実行して早い方が提出みたいになった
殆ど変わらないんだけど一応こっちが早かったのでそのまま提出AC、犯罪をしてしまいました…
貢献した気分になれるので精神的にちょっとうれしいという気持ち

DをみてASCII Expressionを解いたばっかりの僕に簡単な構文解析を出されても余裕なんですよね~と調子に乗っていると構文解析部分が全然本質ではなく、解法がわからなくてつらい気持ちになった

Eも読んで、なんかいい感じにDPすればいいんだろうけどどうすれば…となる
最初Eが木に見えていて、そのせいで(?)木DPの拡張→グリッド上のDPを無理やり合わせるみたいな方針になってしまって大反省
最大独立集合的問題だから軽いDPでは解けなさそうだと気付くべきだった

そのDP正当性わかってます?と言われながらもとりあえず実装してあわせればええやろ笑と言って結局コンテスト終了まで囚われてたのも最悪だった
チームメイトの意見はちゃんと聞こうな…

気づいたら一人のチームメイトがF解けたと思いますと言って実装に向かった、しばらくすると通っていて、チームメイトの強さを実感してしまった

更にしばらくするともう一人のチームメイトがDの解法を思いつき、天才じゃん…となっていた
理解した気持ちになったのでサイレントトイレに行って帰ってくると実装方針を話してたので、そこまでの話を余りよく聞いてなかった(トイレに行ってたので)んだけどこのままだと自分のやったことがなくなるという恐怖心から実装担当を奪い取った

無言でトイレに行って戻ってきて文脈あまり理解せず奪い取るの、最悪じゃないか?

別にそこまで実装が早い気もせず、むしろちょっとバグらせたので微妙に時間がかかった
まあペナルティなしで通せたから大丈夫ということで…

あとはEをごにょごにょ無駄な努力をするだけでコンテスト終了

感想

とりあえず実装も大事なんだけど、ちゃんと考察しないのは駄目だった

なんかチームメイトが強すぎるので精進を流石にしていきたい

国内予選10位ということで去年の半分になっていてすごい嬉しいんだけど、自分の力がゼロなので悲しくなってしまった

多分この悲しさが今の忙しさを乗り越えたときに残ってたらちゃんと精進をします