マラソン向いてないし、マラソンのための基礎知識をつけようと言って永遠に着手していない結果が現状なんだと思う。
結局、マラソンと言いつつ、ある程度リグレッションテストするところ、テストケースを作るところなどはプログラムによる簡易化が可能で、そういったところを早く整備しきってLogicを書くところに集中できる環境を作らないといけないなと思った。
問題
future-contest-2019-qual.contest.atcoder.jp
やったこと
結論から言うと、乱数でデフォルトのものと1000点位しか変わらないものしか書けなかったね。だめ。
- シミュレートするプログラム
- 時間計測プログラム
- 乱数の取得
を書いて、リグレッション用に軽くシェルを書いた。Logicを書くところはほぼできなかった。そもそも体調悪い中、17時位から参加して、3時間書くので手一杯だったのがそもそもの問題ではあるが…。(体調を整えられなかった時点で負け)
この内、下の2つについてはいつも調べて書いていて、結構無駄にしている。こういう短時間系のマラソンコンテストについては、テンプレートのようにしておくのが圧倒的によく、もっと工夫の仕様あるよな、みたいな気持ちになった。(ここだけで1時間くらいかかっているので)
一様のコード
https://github.com/yumechi/AtCoderHandoutCodes/blob/master/OtherContest/HTTF_2019_pre/cont.cpp
後いい加減、山登りと焼きなまし覚えろになっている。課題。
まとめ
まあこんな気持でコンテストに出るなが結論でしょう。
マラソン系のコンテストは本質的なところ以外でも環境の設備が重要になるなあと思うので、もっとノウハウ蓄えねばなああと思う一方、定型のアルゴリズムについてももう少し知ってろみたいな気持ちになるので、やることが多い…。ので、また考えましょう。
終。
参考にしたところ
- C++ 高速化 処理時間の計測