こんにちは、ぽえです。先日行われた AtCoder Beginner Contest 407 で念願の入青を果たしました!入青までに取り組んだことや、コンテスト中に考えていたことについて書きます。
入青するまでのレート推移です。
競プロを始めてから半年ほどで入青しているので、早い方ではないでしょうか。
僕はテトリスというゲームに熱中していた時期がありました。テトリスでミノの積み方の探索などにプログラミングを使っている人を見かけ、プログラミングを始めてみることにしました。
また、たまたま学校においてあった情報オリンピックのポスターが目に入り、とりあえず出てみることにしました。(その頃は「競プロ」という言葉すら知りませんでした…)
そうして9月ごろ、情報オリンピック1次予選に出ました。ここで初めて競プロの問題を解くことの楽しさを知り、AtCoderを初めてみることにしました。
実は、3月末ごろにPCが故障して使えなくなってしまったので、スマホでコードを書いています。
といっても、フリック入力をしているのではなく、エレコムのSlintを使ってコーディングしています。持ち運びが容易なので、外でも精進しやすくなりました。
また、エディタはGithub Codespaces を使っています。自動化ツールも導入でき、サクサク動くので、むしろPCのときより快適になったかもしれません。需要があれば導入記事を書こうかと思います。
普段はこのファイルにコードを書いています。
#include "template"
int main() { IO();
int T=1;
// cin >> T;
while (T--) solve();
}
void solve() {
}
提出するときは、下のコードがoj-bundle によって埋め込まるようになっています。
https://mackerel38.github.io/competitive/util/template.hpp
長いので特に中身の解説はしませんが、不明な点があったらぜひ聞いてださい。
水色50問、青色50問を入れたバチャを作り、前から飛ばさずに解いていました。
https://kenkoooo.com/atcoder/#/contest/show/222cf130-a4d7-40ba-a3ae-20ee994a5b99
また、最近はABC で解けなかった問題を全て入れて苦手分野を把握しようとしています。
https://kenkoooo.com/atcoder/#/contest/show/ec6ed6c5-108d-4b32-93ad-837da0b442f8
モチベがないときは、いろいろな記事を読んで、ライブラリを書いてコンテスト中使えるようにしていました。
ライブラリはこちらから見ることができます。バグってたらごめんなさい…
https://mackerel38.github.io/competitive/
コンテストに活かすため、もちろんアルゴリズムやデータ構造の勉強をしました。
特に、動的計画法は思いつきさえすれば単純な配列上の計算だけで解けるものが多く、コンテストにすぐ活かせそうだったので重点的に勉強しました。
競プロを始めた時から一貫して、コンテスト中は「できるだけ高い順位を目指す」を意識した行動をしていました。上手くいかなかったこともありましたが、ここでは上手く行ったABC383を挙げます。
1472パフォでレートは501→739 でした。
自分が得意とするDPがF問題にあり、D問題の解法が思い浮かんでいなかったのでF問題を解きました。結果としてぎりぎり解けたので大きなプラスとなりました。これが決まるととても気持ちがいいです。もちろん、失敗した時は大抵冷えます…
このように自分が得意な分野は積極的に解くといいと思います(保証はできません…)。
実は数学が好きで、OMCを最近始めました。
競技数学というものに触れ始めたのはほんの最近なのですが…
そのおかげもあってか、数学的な問題にあまり困ってないような気がしています。
もちろんまだまだ上を目指します!
次の目標は黄色です、半年ぐらいで達成できたら嬉しいです!
ここまで見てくださってありがとうございました!
Views: 0