はじめに
ABC400で入水しました
AGC ARC Div.2のRatedをようやく獲得しました。
日曜日にあることが多いので、出るかはわかりません。
入水について
直近のABCでは水perfを連発していたので、時間の問題だとは思っていました。
これまでにも入水チャンスはあって逃してきたので、期待せず目の前の成績に集中できたのは良かったと思います。
(例えばABC399のバチャは大事故となったので、問題との相性は大きいと思います)
ABC400について
ABC100、ABC200、ABC300のテーマと絡んでいて面白かったです。400人の高橋君や400等分されたケーキは想像しづらいものがありましたが、抽象化の訓練だと思うことにしました。
自分について
-
IT企業で会社員をやっています。2年目になりました。
仕事でプログラムを書く機会はなく、むしろ企画職として法律や規定に携わる業務がほとんどです。
就活の一環として応用情報を取りましたが、今の業務では出番がありません。 -
タイトな期限の仕事が日常的に降ってきて残業したりもするので、
平日に精進の時間が取れるかは微妙になりました。 -
自分がついている業務をするような人で、休みの日にプログラミングというのは皆無に近いです。プログラミングがまず要りません。
それとは別に、社会人になるタイミングで競技プログラミングを離れる人は多いと思います。自分は離れなかった側なので、そういう話を今後はできるといいかもしれません。
基本的な考え方
-
AtCoder ProblemsのABCの問題を片っ端から解く方針をずっと維持しています。
始めた当時は6問ABCがまだ30回分くらいしかなかったので、AB問題くらいならわかりそうと思って大体埋めてしまい、
そのあとは茶色、緑色と進んでいきました。 -
予定がなければ必ずABCにRatedで出ています。
ここ2年くらいは終了後に必ずツイートして他の方のツイートも見て、自分がわからなかった問題の解法を知るようにしています。
また、これまで出られなかった回は大体バーチャル参加で走っています。(後述) -
学生の頃から、AtCoder Daily Training(通称ADT)に出ています。
木曜日は20:30から始まる回があるので、社会人になってからも時々出ています。 -
yukicoderやCodeForcesにも関心があったのですが、学生の頃からそれほど時間をとれなかったので、結局触れずじまいです。
心がけ
- メインのスキルセットはプログラミングではないので、むしろそれゆえに、毎週のABC Ratedは優先順位を高めにして対応しています。
プログラミングをある程度できるようにしたいと思って始めたわけですが、ブランクができるとおそらくもう戻ってはこられないでしょう。
-できない場合は、週のうちどこかで必ず時間をとって何かを解きます。最近ではその枠がADTになっています。 - 冷えた(レートが下がった)回は、冷えた要因の問題をコンテスト直後にしばらく復習します。解説を読み、コードを自分の中で再生成する形式でupsolveします。
いま解けるべきレベルの問題であり、かつ考えていて頭に残っているためです- このレベルの問題が、かつては水色帯の問題であり、最近は青色前半の問題も入ってくるようになりました。逆に、黄色以上の問題は軽く解説を読むのみで、凸包や高速ゼータ変換が出てきたら読むのを諦めて寝ます。
- 基本的に、今いるレート帯の問題をそれなりの速度で解ければ、レートは上昇していくようになっています。
ただ、自分の場合は分野の得手不得手が比較的はっきりしており、得意を伸ばすことで苦手をカバーする戦略が通りやすくなりました。
おわりに
青色になりたいですが、このままだと16年くらいかかります(え?)