アジの開きを閉じる。

競プロ(AtCoder)中心のブログ

【砂漠を駆け巡る】入緑までの道のり

権利があるので入緑記事を書きます!

執筆時レート:もちろん緑色

 

レート推移(ブランクが長いので傾きがかなり急に見える)

 

目次

 

 

私のスペック

競プロを本格的に開始して3ヶ月くらいで入緑しました!

 

Twitterのプロフには「文系大学生」とありますが,実は純文系ではありません。保険をかけてました…騙すつもりは(

いわゆる「文転」です。理系から逃げたネガティブ文転ではなく文系に興味を持ったポジティブ文転です。

 

高校時代は数IIIまで学習し,理系科目で文系学部に入学しました。

入学後は所属学部の文系授業をとりつつ,微積線形代数は続論まで,その他は複素関数論や情報学科向けのアルゴリズムやコンピュータ系の授業も履修していました。

 

なので,数学的思考(定義は不明瞭)の素養は純文系と純理系の間くらいにあると思います。

 

ちなみに事前に少し勉強をして,ABC初参加はABC3完(30分),2回目はAB2完(7分)でした。

成績表(本格開始から1ヶ月で入茶,2.8ヶ月で入緑し,ご満悦のスクショ)



 

競プロを始めた動機

カッコいいから。

 

競プロに取り組むお気持ち

競プロへのお気持ちと取り組み方を3つ紹介します。

大学受験で学んだことがかなり効いてます。

 

  1. アウトプットが一番伸びる
  2. レートに固執しない
  3. 比べるのは昨日の自分

 

1. アウトプットが一番伸びる

大学受験は受験日という期限付きなので,勉強の効率性を考える必要がありました。そこで確立した勉強法で競プロを勉強しています。「確立した」とはいえ,何も特別なことはしていません。

 

競プロも受験も,制限時間内でのパフォーマンスでのみ評価されます

つまり,勉強してもその場面で使えなければ評価されません。

したがって,知識や技術に触れるだけではなくしっかり身につけている必要があります。

 

「身についている」とは「知識や技術がいつでも使える状態」です。

一度触れるだけでは忘れていく一方なので,そのためには復習が必要です。

 

そして有名すぎる話ですが,復習にはインプット型とアウトプット型があります。

アウトプット型の方が,自分が理解できている点/できていない点が体験を通して分かるので効率が良いです。

理解できていない点が多すぎて進まない場合にはインプット型をすれば良いと思います。

 

復習を繰り返すことで以前より理解がはかどり,いずれ学習内容が血肉となります。

そして本番で生きてきます!

 

競プロは特にアウトプットがしやすいので,以上の流れが適用しやすいですね。

 

アウトプットをしてこそ知識や技術は身につく!!

 

2. レートに固執しない

受験期の模試で第一志望がA判定だったかと思えば次はE判定だったりして,結果に一喜一憂することに疲れました。そこで「○○大(第一志望)の自分ってカッコ良くね?」と想像すると楽に受験に取り組めました。

 

競プロに関しては,私はそもそも「競プロやってる自分がカッコイイ」という無敵のモチベがあったので,はじめからレートに固執していませんでした。

 

私たちの多くは結果を残すために取り組んでいるわけですが,結果に固執するとしんどいです。

 

ま,実力があればレートは勝手に付いてくるから,気楽にやりましょうや~。

 

3. 比べるのは昨日の自分

日本人は比較対象に他人を設定しがちだと思います。私もそうです。

特に,一般入試などの相対評価がその意識を強めている気がします。

 

でも周りはすごい人がいっぱいいるし,バックグラウンドも能力も違う人と比べてもきりがありません。

 

あるコンテストでAさんが解けた問題が,自分は解けなかったとします。

Aさんを比較対象としていると,「Aさんは自分よりすごい」と傷付きそうになりますが,実際は,その問題がAさんにとって解きやすい相性の良い問題だっただけかもしれません。

 

真相は別にどっちでもいいですけど,重要なのは自分が日々成長しているかです。

解けなかった問題はしっかり復習して,次に類題が出たときには解けるようにする。それだけ。

 

比較対象の第一は,昨日やそれ以前の過去の自分に設定することをおすすめします。

何か勉強して,「昨日の自分は解けなかったけど,今の自分なら解ける」と思うと,一回り強くなった気になりませんか?真に強くなってますけど。

 

第二に,同程度の実力のライバルと比較すると良いと思います。

私も公言こそしていませんが,Twitterのフォロワーでこっそりライバル視している方がいっぱいいます。

 

具体的にこれまでやってきたこと

それではお待ちかね,これまで勉強してきたことです。

ログを頼りに忠実に再現しました。

(学業で忙しくなり完全離脱した期間は省き,本格的に開始した2022年3月からの記録です)

 

開始から継続的にしてきたこと

  • 目標とそれを達成するためにすることを宣言する。「4月中に入茶。ABC30分3完」
  • ABC/ARCは毎回欠かさずRated参加。コンテスト参加15回まではレートが過小評価されるので,参加回数を稼ぐため。解けた問題も解けなかった問題も公式解説で復習。
  • 参加後はTwitterで自分の考えをアウトプット。言語化で思考がまとまる。
  • Twitterで他の人の考え方を学ぶ。
  • TwitterAtCoderコミュニティで情報収集。(ほとんど理解できない)
  • 高める順番は正確さ→速さ。
  • 週末はその週の復習とコンテスト参加のみ。新しいことは学ばない。

 

開始~0.5ヶ月(3月前半)

 

基礎固め期です。

まずはC++の書き方やアルゴリズムの基礎を知る必要があるので,APG4bを3章まで進めました。その後に精選10問を5節「ここまで解いたら」の表にある問題までやりました。

過去問は多くの問題に触れることを目的として,速さを気にせずのんびりやってました。

 

~1ヶ月(3月後半)

基本押さえ期です。

典型90問を★2→★3→★4の順に2週間で一通り突っ走りました。

初見AC率は★2:50%,★3:70%,★4:5%くらい。解けなくてもあまり気にせず,とりあえず突っ走る。

過去問は3完が安定してきて,D問題まで広げてまだのんびりやってました。

 

~1.5ヶ月(4月前半)

DP押さえ&基本固め期です。

ABCのC問題でDPが出題されたので対策しました。EDPCはF問題まで。

スキマ時間にけんちょんさんの「典型的なDP~」を読んでいました。

典型90問は2周目に入りました。1周目でWA/解けなかった問題にリトライしました。

 

30分でABC3完できれば大体パフォが出るので,「今週末に入茶するぞ!」と決めた週に,過去問でABC3完RTA(目標:30分)を3回しました。おかげさまで入茶できました。

Twitterのフォロワーが30人くらい増えました。

 

本当は蟻本を早めにやってバグりにくいコーディングなどを身につけるべきなのですが,大学が始まりきっちり時間が取れなかったのでできませんでした。

 

~2ヶ月(4月後半)

基本固め期です。

典型90問の2周目と,過去に解けなかった問題のリトライです。

ABCD4完RTA(目標:ABCで30分)を1回しました。

 

~2.8ヶ月(5月前半,執筆時)

アウトプット期です。

GWにABCD4完RTAを1回しました。

学業が忙しくなったため,競プロに接したのは上の4完RTA1回とコンテストのみでした。

完全に実力勝負です。

運良くABC3完・パフォが安定したのでレートは上がり続け,ABC252をもって入緑(水色パフォ!)いたしました。

 

フォロワーが15人くらい増えました。

 

最後に

初めて色変記事を書いたので丁寧に書きすぎました笑。

参考になるかは分かりませんが,お役に立てば!