Toy と帽子と ADP BE

主にプログラミングに関わる話をゆるくエモくやっていきます

AtCoder Introduction to Heuristics Contest

223位でした。面白かった。(けど、入り口にもたどり着いてない気がする)

前置き

こういうタイプのコンテスト、知識も経験もほぼなく、今回は丸腰で特攻しました。

やったこと

A問題

A問題だけ見ても、うーんわからんとなります。問題の最後に

何をすればよいか分からないという方は問題Bや問題Cに進んでみましょう。

とあるので、素直にB問題に行きました。

B問題

B問題を言われたとおりに実装してAC。B問題の最後に

問題Aに戻り、今準備したスコア計算プログラムを活用して貪欲法による解答を実装してみましょう。

とあるので、素直にA問題に戻ります。

A問題AC

A問題をこれまた言われるがまま貪欲法で実装し、負の値を考慮できてなくて2WAを出したりしつつ、ACが取れました。大きいスコアが取れて、ようやく参加した気分になってきます。

C問題

ここで、未見のC問題に移動します。ここでも言われたとおりに実装してACを取ります。「あまりよくはありません」とは書かれていますが、取りあえずこのC問題のクエリに相当する部分を自分で実装してA問題に組み込めば多少はスコアが改善されるのだなと理解したので、再度戻ります。

A問題改善

やってみたところ、10万点ほどしかスコアが上がりません。それもそのはずで、更新結果を保存していなかったので、最後の結果しか反映されていなかったのでした。

そこを修正すると、一気に1億点を超えました。テンションが上がります。

限界

しかし、そこからはほとんど何も出来ずに終わってしまいました。実はパラメータCの存在を終了直前まで忘れたまま考察していて(おばか)、それじゃあ意味のある改善策なんぞ出ませんよね、って感じでした・・・。とほほ。

感想

誘導されるがままに実装するだけで6千万→1億と取れる仕組みになっていて、初心者ながらに楽しませてもらいました。

ただ、短時間ならまだしも、長期間のやつまではまってしまうと人生崩壊が目に見えているので・・・。ratedになっても、ほどほどに参加できそうなものがあればやる、というスタンスになるのかなぁと考えています。