【競技プログラミング】茶ランカーになるために努力する話【AtCoder】

ダウンメルト

こんにちは、downmeltです。

久しぶりの競プロ記事です。(記事すら久しぶりとか言わないで。)

今回は4か月しても灰ランクで足踏みしてるへなちょこがとりあえず茶色になるための努力方針を立てるだけの記事です。

ランク茶になる条件

ランクが上がる条件

そもそもAtCoderのランクを上げるにはコンテストのパフォーマンスを上げる必要があります。

コンテストのパフォーマンスを上げるには、

・多くの問題で正解を取る。

・早く問題を解く。

・間違える回数を減らす。

が条件になっています。

ABCの問題はA~F問題まであり、難易度の高い問題を解くほどパフォーマンスが上がりやすいのですが、C問題まで解くことができればランクを茶まで上げることができるらしいです。

私はC問題までは解けるようになったため、問題を早く正確に解くことが課題になってきます。

C問題までを解くには

まずC問題を解くまでは何をすればいいかですが、私が思う必要なことは、

・入門書の一読(特に入力、出力、配列変数と標準ライブラリ)。

・算数、数学の少しの基本知識の活用。

・競プロの出題、提出形式への慣れ。

の3つだと思います。

早い話、使用言語に慣れることと競プロに慣れることが大切だということです。

問題を早く解くには

さて今回の本題に入ります。

問題を早く解くにはどうしたらいいのかですが、これはまだ試したことがないため努力方針として挙げると、

・コンテストが始まる5分前から準備する。

・テンプレートを用意する。

・自作関数を使う。

・回答を1回で通す。

・タイピング速度を上げる。

の5つが有力候補です。

はじめの二つは問題を解く時間以外の無駄な時間を減らすことを目的としています。

3つ目の自作関数は頻繁に使う文を簡単に打てるように短縮してタイピング時間を減らすことが目的です。

有名なものではfor文を短縮したrep関数などがあります。

4つ目は1回で回答を通すことによって書き直す時間や考えなおす時間を減らすことを目的としています。

おそらくこれが問題を解く時間を減らすための常とう手段です。

5つ目に関しては気休めですが、指一本で打ち込むよりはタイピングの型を知っていた方が確実に早いです。

中間報告

リアルで忙しかった都合上、この試みを始めてから2カ月ほど経ってしまっています。

その間に3回ABCに参加したため、効果がが出ているかの確認に結果を確認します。

最後三回分が上の項目を試した結果です。

142回はB問題で沼って時間がパフォーマンスが出ませんでしたが、全体的には右肩上がりでいい結果になりました!

パフォーマンス600以上を出せばいい感じでレーティングも上がっているのでこのまま回数を重ねれば茶色に行けそうな感じですね。

何ならノーミス22分でC問題まで解ければ、D問題以降を解かなくても緑になれそうです。

最後に

記事を書くのに期間が開いてしまいましたが、結果的には効果を示せてよかったのかなという自己肯定をしておきます。

前回のコンテストはリアルの用事で疲れて逃してしまったので今週末のコンテストであわよくばレーティング300に乗りたい。

記事を書いたのが久しぶりなせいで若干殴り書き感が出てしまいましたが、次はそうならないように早く出したいです。

これを言うの何回目かはわかりませんが。

コメント

タイトルとURLをコピーしました