競プロはじめました

これまで CodeIQ (最近終了したことを知った) とか Paiza のスキルチェックとかはたまにやってたけど、昨日初めてリアルタイムのコンテストに参加してみた。AtCoderで参加したけど、昨日は bitFlyer が主催する特別なイベントだったみたいで、レギュラーなやつを経験しないままそれに参加することになってしまった。

コンテストはこちら。

bitflyer2018-qual.contest.atcoder.jp

問題 → https://bitflyer2018-qual.contest.atcoder.jp/assignments
解説 → https://bitflyer2018-qual.contest.atcoder.jp/editorial

Python でやってみて、5問中2問正解して1300人くらい中925位だった。

Aについては一応正解だったけど解説をみるともっと簡単に書けたっぽい。Bはそのまま書くだけなので解説と似たような感じになった。Cについては手元では正解できるコードを書いたけど、時間オーバーだった。三重ループになってしまったので筋は悪いだろうなと思ってはいたけど、解説を見てなるほどとなった。4問目は NumPy を使って書いたけど、そもそも与えられたテストケースでもメモリオーバーになる(1000000000 x 1000000000 の場合)。数を数えるだけなので、全部の画素の情報は取っておく必要はないとは思ったけど、ギブアップ。解説に累積和というのを使うと書いてあったので、勉強しよう。Eは問題文は読んだけど、疲れたし頭痛かったのでギブアップ。

今日もあるっぽいので挑戦してみよう。リアルタイムだと集中して取り組めるし、頑張るとちゃんと解説読む気になるので良い。

以下、提出したコード。

AtCoder 2018/06/02