参加記 AHC 001

AtCoder Heuristic Contestがついに始まった。このエントリーはマラソンコンテストを初めて(まともに)やった感想及び記録。

 

スペック

AtCoder茶色(650くらい)一年とちょっとやっている

ヒューリスティックコンテストをちゃんとやるのは初めて。introduction Heuristic Contestも出てはいたけど、C問題で無限にバグらせて何もできなかった。

普段はPythonを使ってABCをやっているけど、マラソンコンは実行速度が大事と聞いたのでC++をちょっと(マンデルブロ集合を描ける位)練習して使用した。

 

1日目

寝坊した。

入力部分だけ書いて、ABCに出た(冷え

とりあえず有効な出力をしたいので、全ての広告の面積を1にして提出した...けど問題文を読み間違えて0点。読み間違いを修正して提出した。823090点。

長方形をいっぱい弄りそうだったので長方形クラスを作り始めた。(そしてバグらせた)

とりあえず面積をx、得点をyとしてグラフにプロットしたものを眺めたりした。実際の面積が要求から離れている程得点が減るけど、少ない場合は多い場合よりのが早くてよくできてるなあと思った。

よなよなラボに気を取られながら、長方形クラスに点が長方形に含まれているか判定するメンバ関数を作った。

1日目終了。提出は2件。現在の最高得点は823090点。

2日目

起きるのが遅い(戒め)

戦略を考えた。大きい広告よりも小さい広告を大事にした方が良さそうだと思った。

(マインクラフト)

入力のNをconst定数にしたかったので変な関数を書いたりした。(const auto N = input<int>();みたいな感じ)一行毎読み取りでは無いけど、普段使っているPythonと使い心地が近くなった。(printf使え)

長方形クラスに2つの長方形に重複する部分があるか判定するメンバ関数を作りたくなったので、宣言だけした。(結局この日は実装をしなかった)

constexprの沼にハマった。

このエントリーをここまで書いた。

2日目終了。提出はなし。現在の最高得点は823090点(変動なし)

3日目

長方形クラスのバグを修正した。それ以外はいじっていない

広告の面積を増やせるようにしたいので、この長方形があとどれだけ辺を伸ばせるか調べる関数を作った。(vectorにmultisetを持たせる謎実装なので、なんとかしたい)

長方形をxが正の方向に伸ばせるようにした...けどバグらせた。

One Last Kissのプレミア

3日目終了。提出は0件。現在の最高得点は823090点(変動なし)

 

以後

何もなし...

 

ところで、最後の提出がWAなのを放置したまま終了してしまったのでちょっとまずいかも