天下一プログラマーコンテスト2013本選戦略と反省

10位だった。

戦略

  • とにかく部分点を稼ぐ

予選も本選もこれに注力していた。(問題を見ないと何ともいえないので、配点だけからは問題をどう解くかの戦略は立てなかった。)せこいが以下のメリット・デメリットがある。

メリット
  • 手堅い

ある問題に集中すると、満点解法を正しく書けるまで点数が0なので、(自分は)かなり焦る。
それよりは、少しずつ点を取っていったほうが良い、メンタル的に。

  • そこそこの点数がとれる

予選Aでは、DとEの部分点でギリギリで通過できた。どちらかで満点をとるのは(自分には)難しい。
本選では、こうでもしないと10位に届かなかった。

デメリット
  • 得られる点数が低い

配点次第とはいえ、得られる点数は満点よりも大幅に下回る。本選では、自分(10位)より上の1〜9位の人はDかEで満点をとっていた。この差は「かなり」大きい。

  • 問題に割り当てられる時間が減る

1つの問題に割くことのできる時間が減る。だから、部分点解法を速攻で考えつかないといけない。
本選では最初Bをしばらく考えたがわからなかったので、すぐにC、Dに移った。

  • コーディング量が多い

上と同様、1つの問題に割くことのできるコーディング時間が減る、違う言い方をすれば、手をつける問題の数が多いため、結果的にコーディング量が増える。

反省

  • コーディング速度が遅い

ある程度出来る人の中では自分はコーディング速度が遅い気がする。
結構早く書けたな、と思っても、かなり時間がかかっていたり、他の人はすでに提出していたり、ということがよくある。
もしコーディング速度が早ければ、Cに手を出すことができた。

  • 思考をコードに落とすのが遅い

多分こっちも遅い。本選のDは、部分点解法はおもいついたものの、コーディングがかなりカオスなことになっていた。あまりバグらなかったのは奇跡的だった。