第10回 日本情報オリンピック(JOI) 本選に参加してきました

結論からいうと完敗(Cランク)でした。敗因はいろいろとあったと思いますが、そういった事とは他に学ぶ事ができた事もたくさんあったと思います。

備忘録も兼ねて、この機会に折角なので流れなど書いておこうと思います。
勝手に名前が出てきた人はすいません。

前日 id:kyuridenamidaが家にくる

前日から来いと言っていたid:kyuridenamidaが、大阪から東京に来る。
朝からTopCoder SRM 497に参加する。というかむしろそのために早く来てもらった。
(尚、同SRMでは多数の被害者が出る。)

結局やる事がつきて渋谷にいったりちょろっとjubeatをしたりして終了。

結局あまりコードは書かず。

1日目 Practice

彼と共にJOI会場へ。JOIerの面々と初めて会う。
Practiceは機材をちょろっといじって、あとは他の人を真似てショートコーディングしたり、id:JAPLJさんの話を聞いたりしていた。
J言語がなんかすごいらしい。彼の話はとても興味深かった。

懇親会ではなんか痛い事を言った気もするがそんなモノは記憶にない。

家があまりに近すぎて宿泊とか却下されるのではと思い、宿泊を申請しなかったら、9割以上の人が宿泊組だった。涙目。アリ本タワーや高い水タワーができる。

さりげなく宿泊棟で23時ぐらいまでダベってたら、閉門が23時ぐらいじゃなかったっけと思い出して焦る。一応開いてた

2日目 本選

全く解けなかった。0完。僕はいっその事フェードアウトした方がいいんじゃないんですかね…?
まあでも楽しかったので、受験とかとの兼ね合いも考えつつ来年も出られたらいいなーとか思ってます。

(結果14点でした。ひどい)

(追記分)今回の反省・敗因

14点だった。敗因は絶対的な練習量不足と、それを招く原因となった油断であると思う。

(以下はあくまで個人の感想もとい思い込み兼メモ・読む価値なし)
大前提として競技プログラミングでないプログラミングの経験が少しあるといった程度では歯が立たない。"少し"というレベルでなければJOIで求められるアルゴリズム知識の多くも一般教養として認識していただろうし、残りの部分は実装力で補う事ができたかもしれない。

短期的な油断の原因はやはり予選をすんなりと通過してしまった事だろう。個々のCompetitionはそれなりに運要素も関わっているので、偶然スコアがよかったからといって、あまり自分の実力を過信しないほうが良いという事を、痛く痛感した。特に今年の問題で言えば、1, 2, 3, 5だけの80点と、少しでも部分点を狙う事のできているそれ以上との間には大きな差があるように思う。

また確保できた時間の問題もある。予選の前は偶然スケジュール的に十分な時間を確保する事が出来た。おそらくこの時期が自分の中では一番伸び率が高かったと思う。本選の前はそうではなかった。しかしまとまった時間を確保する事はなかなか容易ではないし、いかに習慣化して無駄な時間を使って練習ができるかが今後のカギだと思う。

実際の競技プログラミングの実力指標として一番使えるのはおそらくTopCoderのratingであると思うが、最低限DIV1とDIV2の狭間程度の実力は必要で、上位陣を目指すなら赤ぐらいでないときついと思う。
普段の練習手段としてはやはりAOJをそこそこ解いている程度では駄目で、POJが一定以上解けている必要がある。

それと、レートが下がるのが怖いからSRMに出ない!とかは論外(2回ぐらいやりましたすいません)。敵前逃亡してはならない。本当に逃げられない時に犬死する。

では来冬は頑張ります。合宿組の皆さん、僕の分もがんばってきてください!