ICPC国内予選

この前の金曜日に、国内予選がありました。
某所で参加記書くと言ったので、模擬国内のときみたいに書いてみたいと思います。

そういえば、今年はJavaチャレンジなかったですね。
ベントされてしまった(追記:アドベント空間てきなつもりだったのですけど、今のご時世だと原発的な意味になりそうですね・・・)

3日前ぐらい

監督の人からきたメールに、会場となる計算機室は飲食禁止です!と明記されてて、今年は飲み物飲んじゃいけないんじゃないかと戦々恐々とする。(実際はそんなことなかった!!

3時間くらい前

金曜日は実験で朝から計算機室にいるので、AOJで簡単な問題解いたり、ライブラリちゃんと印刷したかどうか確認したりする。
あと戦略?の確認とか。模擬のときと同じようにやりましょうとか間違いなく早解き合戦になるなぁとかそんな話。

30分くらい前

出る人たちが続々と計算機室に来だして、これからお祭りがはじまる!!!って感じでわくわくしはじめる。
とりあえず、レッドブル飲んでドーピングしてた。

開始~~~

A,Bを読んでやる係だったので、Aを読んで書き始める。
123456*2を計算するのがめんどくさかったので、適当に250000ぐらい配列を確保したりした。

A accepted (3:48)

Bをみると、stack使うだけなので、適当に書く。
自分は、stlのstack使わずにvectorのpop_backとか使って書きたい派なのだけど、横でなんでそんな意味ないことするの?とか言われてた。
たしかに意味ないなぁと思うなど。

B accepted (8:57)

Cを聞くとただの全探索ゲーだと言うので、はいそうですか、と書き始める。
最初、左上とつながってない点も答えに含んでしまって、sampleが合わなかったのだけれど、すぐに気づいてなおしたらあったので提出。

C accepted (28:14)

Dも色数の制限と同じ色の枚数の制限から、そんなに状態数多く無いだろうし全探索ゲーなんだろうと見当はついてたけど、円と円の交差判定を書きたくなかったので、チームメイトに任せる。
交差判定ができあがった後、ペアプロして適当に書き上げた。
なにかでちょっとだけはまったようなおぼろげな記憶があるのだけれど、忘れてしまった・・・

D accepted (58:05)

ここで、とりあえず残りの問題を全部読んだような記憶がある。
Gは問題の意味するところがよくわかんなくて、Fは幾何だけど頑張って場合分けすれば解けないこともない気合ゲーで、Eはなんだこれ?とかいうようなことを思ったような気がする。
しばらくFの場合分けをぼんやり考えてたりしたのだけど、東大のチームとか先輩のチームがぽんぽん5問目を解いてたのできっとEは簡単に違いない!!!!と思い、Eをまじめに考え始める。
で、ちょっと考えると長方形を状態にするメモ化再帰だということが分かって、これさえ分かってしまえば残りはすごく単純なのでがりがり書き始める。
累積和がうんぬんとか添字のずれががががが、とかあったりして結構てこずったような覚えがある。

E accepted (1:59:34)

この時点で6位だったの(そうだっだっけ? 忘れてしまった・・・) で、まぁアジア予選にはいけるだろうなーとか考えてた。
Gは何度か読んでもよく意味が分からないし、しょうがないのでFで必要そうな幾何のライブラリをがりがり打ち込んでもらったりする。
しかし、考えれば考えるほど場合分けの数が増えていって、こんなん書けるか−と思ってやる気がなくなっていった。


最後30分ぐらいは、チョコレートもさもさ食べながらボーッっとしてました。
終わった瞬間、某先輩がRewrite買いに走って出ていったのが、一番印象に残った記憶。

結果

全体で6位、学内で2位だったらしいです。
A,B,CでたぶんFirst Acceptらしいですね、よきかなよきかな。
でもそれを考えると、D,Eが遅すぎる感があります。タイピング力だけではだめだってこと。(実際全然タイピング速くないですが・・・
たぶん、夏合宿に行けるので楽しみ。ぱない人たちにぼこぼこにされてこようと思います。