'sqr'atch-note

ちりはつもれど ちりぬるを

競プロを始めたがツラすぎる

  • AtCoder競技プログラミングを始めてみた。
    • 今年の1~2月にAOJ(AIZU ONLINE JUDGE)でちょこちょこ問題は解いていた(ITP1_7_Bまで解いた)ものの、別件の割り込みがあってAOJができなくなってしまい、そのままズルズルと取り組めない状態が続いていた。別件が落ち着いてきて、8月頃からプログラミングの勉強を再開できたので、コーディングに慣れる意味で競技プログラミングを再開しようと思い、今回はAOJではなくAtCoderで始めてみた。
  • AtCoderは色でランクが表されていて、ひとまず茶色になることを目標にした。
    • より上位のランクは、数学的素養とアルゴリズムの知識が求められるが、茶色クラスは「問題を読んで、ロジックに落とし込み、それを実直にコーディング出来るかどうか」が求められると何処かで読んだ気がするので、ぼくが「プログラミングできる」と思う状態に近い気がするため、茶色になることをひとまずの目標と置いた。

qiita.com

  • このエントリを読んで『1-6. 「茶色コーダー」になるためのガイドライン』に書かれている内容を実践して行っている。
    • といいつつ、早速ステップ1のAOJのITPを全部解くをスキップしている体たらくである。
  • ステップ2の計算量とアルゴリズムは「勉強」なので、AtCoder Problems*1にはビギナー向けの「Boot camp for Beginners」があるので、これを解き(上記エントリ中のステップ3)ながら並行で学習を進めようと思っている。

閑話休題

  • 上記エントリの「ステップ 5: コンテストに出まくる!」を実践しているのだが、これがツラすぎるというのが本題。
  • ビギナー向けのコンテストACBに全部参加する勢いでいたのだけど、コンテストの始まる時間が21時なのが何よりもネックでツラい。
  • というのも、普段の生活スタイルだと22時過ぎには寝て、5時には起きるようにしているので、21時から開始だと、もう眠い状態になってるのに、そこから頭をなんとか働かせて問題を解釈してコーディングする必要がある。そして、1時間半くらい頭を働かせていると、眠気もある程度消えつつあるので、寝るのが難しい。
    • 基本情報や応用情報の試験が「起床試験」とネタで言われるのと同じように、ぼくにとってプロコンは「夜更かし耐久試験」のようだ。
  • そして習慣というのは恐ろしく、遅くに寝ても(さらには目覚まし時計を使わなくても)大体5時すぎには目が覚めてしまう。当然、睡眠時間は十分に取れないので翌日のコンディションに影響が出てしまう。
  • ツラい。
  • 慣れれば平気なのかもしれないが、いまはツラいので「全部参加」は当日や翌日コンディションに影響があるので「ほどほど参加」(月2回参加位のペース)にハードル下げつつ、「Boot camp for Beginners」は全問解いて、アルゴリズムの勉強をするという方向にして、コンテストに20回参加したくらいの時期(1年後くらい)には茶色になっていれば良いなくらいで考えている。