RCO presents 日本橋ハーフマラソン 本戦

rco-contest-2017-final.contest.atcoder.jp

参加記を書こう

本戦結果

総合3位で、望外の結果だった。
予選の結果から考えて、平均、40名くらいいたので20位前後になれれば充分だと思っていたので意外だった。
社会人だから貰えなかったけど、賞金に絡める順位になるとは・・・。

予選との感触

個人のパフォーマンスでいえば、予選とあまり変わらずだった印象で、順位だけ上がったので周りが奮わなかったのかな、という印象。

誤読・勘違い

他の方の参加記や自分の感想から考えても、誤読や勘違いが与える影響が大きい。

自分の例でいうと予選のA問題

A: Multiple Pieces - RCO presents 日本橋ハーフマラソン 予選 | AtCoder

ポリオミノが理解できずに、一筆書きみたいな制約があると誤読したまま終えてしまった。
誤読が無かったとしても、大きくスコアが向上することは無さそうだったので、大した問題じゃないけど。

あと本番の

A: 石油王Xの憂鬱 - RCO presents 日本橋ハーフマラソン 本戦 | AtCoder

だとsell後に、タンクが交換されることを忘れて10分前後の時間を消費してしまったのは無駄だった。

そういった意味で、問題理解を焦らないのが重要かな、と思った。

A問題

問題設計の点で気になるところがあった。

move コマンドを利用するのが難しく

Beaker | Aizu Online Judge

みたいな感じで利用するのかと想起したけど、実装するのが大変だし(個人的な技量の影響が大きいけど)、実装できてもプラスに働くか明白ではなかった。
このコマンドは必要だったのか疑問。

実装は単純なことしかできなかった。

Testerがjavaで書かれていたので、javaを使ってると複数ケースで修正点の計測を簡単にできるので、パラメータ調整とかは有利に働いた。
かといって、パラメータの細かい調整より自明に良くなる修正を繰り返すのが大事なので、少し有利になる程度の印象。

Submission #1174095 - RCO presents 日本橋ハーフマラソン 本戦 | AtCoder

B問題

B問題の印象は、1位の人のスコアが飛び抜けていて、その時の自分の順位は良かったけど、伸び代が大きいことが分かって、後で抜かれるだろうと予想してたのだけど、最後まで周りの人のスコアが伸びてこなかったのが意外だった。
市松模様等の実装が大変な方針を取った人がコケてしまったのかな、という印象。

あと、問題設定が簡単すぎて題意を掴めなかったところ(問題名ちゃんとみろ)、マップサイズに対して車が多いことに気づいて、なるほどと思った。
瞬間的に想起した車の量はもっと多くて、全然動けない問題なのかなと思ったけど、思ったほどではなかった。

実装については
目的地から遠い車を優先させて移動させると少しスコア上がったのと
ビジュアライザをみると中央に固まってるのが明白だったので、中央に斥力をもたせると移動が速くなった。
あとは、偏りありのランダム移動を終わり際は目的地でちゃんと止まるようにすると、スコアが何倍かになった。

Submission #1174208 - RCO presents 日本橋ハーフマラソン 本戦 | AtCoder

2問合わせて

強い人と比較すると、実装がとにかく遅いと感じた。
それぞれの問題のベースになるコードを作成するのに、50分前後かかっていて、2問のベースを作り終えると2時間近く消費していて、そこが強い人と比較して大きく違うように感じた。

1戦2問の是非?

マラソン系の問題を2問だしてどうやって時間配分をするか、面白い部分ではあるけど難しくしている部分でもあり、そこまで難しくする必要があるのかと思った。
一長一短で、1問にするべきだとは思わないけど、このコンテストの特徴的な部分だと感じる。

懇親会

uwiさんと話して過ごした。
あとは、nico_shindanninさんを初めて拝見したり、hirose_golfさんと少しお話したりした。
あとCODE VS勢が何人かいた(話してない)。

感想

予選の順位があまり良くなかったので本線に出場できたこと自体に驚いた。
あまりないコンテスト形式で、楽しかったのでまた開催されると良いなぁ、と思います。