0.はじめに
ABC344で入緑しました。そこで
①どんな人間が
②何をしたのか
を簡単にまとめて記事にしたいと思います。いわゆる色変記事です。何かの参考になれば幸いです。
1.どんな人間か
簡単な自己紹介をすると
・年齢 21(あと2週間ほどで22)
・所属 地方国公立理系B4(院進)の理学部計算数理
・研究内容 流体の数値解析(有限要素法)、今年から最適化
です。
rng_58がおすすめする練習の仕方には以下のように書かれています。
初心者の方に向けて、準備しておくポイントをまとめます。
基本的な数学の理解
高校数学の基礎知識と、 中学受験レベルの算数能力はABCの前提知識となるので、身につけておくことをおすすめします。
不安を感じる方は市販の参考書や問題集を使用して復習をするとよいでしょう。
(+α)数学的なバックグラウンド
数学オリンピックの経験や、それ以上の算数/数学能力は、AtCoderで上位(赤色)を目指す上で非常に有利です。
しかし、赤色を目指すだけであれば、上記の基礎知識で十分対応可能です。
プログラミング経験は必須ではありません
AtCoderをはじめる上でプログラミング経験は必須ではありません。初心者の方でも挑戦出来るようになっています。
しかし、手元にコンパイル環境があった方がコンテストで有利なため、セットアップが必要な方は自分で調べるか詳しい方へお願いして環境を整えましょう。
ここに書いてあるように、私も数学能力とプログラミングの経験が競プロでは大事だと考えているためその2つについて紹介します。
1.1数学能力
まず数学に関して、中学受験はしていないため高度な算数については全くの未経験です。
高校では理系に進み大学受験もしたので人並みに勉強はしました。わかりやすい指標でいくとセンター試験では8割ぐらいでした。
なので回転問題や微分して最小値を求めるよりもABC334-Bみたいな方がしんどく感じます。
また、競プロには関係ないですが大学数学も学習しました(解析が1番嫌い)。あと数オリは大学生になってから知りました。
1.2プログラミング経験
次にプログラミングに関して、大学入学まではパソコンに触れたことが無かったため全くの未経験でした。
B2後期やB3ぐらいからFortran,Python,C言語などを授業で触りましたが、数理系なのでアルゴリズムなどは学習せずひたすら連立方程式を解いてました。
この様な感じなので競プロを始めるまでC++を触ったことは有りませんでした。
2.何をしたか
2.1いつもしていること
始めに問題を解いた後にしているメモを紹介します。どこで見たのか忘れましたがScrapboxというものを使って自分が解いた問題や、解けなかった問題の簡単なメモを残すようにしています。
例:ABC228-D
具体的な内容は、この問題を解くときの考え方、そして必要なアルゴリズムや言語に関するまだ定着していない知識、をメモしています。
次に何をしたのか自分の色の時期に合わせて紹介していきます。
ただし、昔になればなるほど曖昧な点もあるので多少のブレはあるかもしれません。時期は大まかな目安程度に考えていただきたいです。
2.2 黒から茶色
やったこととしては次の3つです。
・APG4b
・鉄則本
・AtCoder Problems灰色から茶色低級
まず競プロをやりたいと感じて最初に取り組んだのはAPG4bです。
C++は学習したことが無かったのでここで基本は全て学びました。未だにコンテスト中に確認用としてタブを開いておくぐらいには充実しているしわかりやすいのでとてもおすすめです。
灰色レベルの問題はこれで大体解けるようになった気がします。
その後はE869120さんの鉄則本で様々なアルゴリズムを学習しました。たしか星3以下を目安にヒューリスティックと総合問題を飛ばした例題を一通り解いたと思います。アルゴリズムに関しては全くの初心者の自分でも納得できるぐらいには、図と解説がわかりやすくまとまっていたのでこちらもおすすめです。
また、AtCoder Problemsで灰色から茶色低級ぐらいの問題を解いていたと思います。過去問は解けば解くほど強くなれるのでありがたいです。
2.3 茶色から入緑
やっていることとしては次の3つです。
・AtCoder Problems茶色、緑色
・AtCoder Daily Training MEDIUM
・レッドコーダーが教える、競プロ・AtCoder上達のガイドライン【中級編:目指せ水色コーダー!】
茶色になってからは茶色低級の問題だけでなく他の茶色や緑色低級の問題も解けるようにならなければと思いその辺の難易度の問題にも手を付け始めました。
当然AtCoder Problemsを使っていたのですが、AtCoder Daily Trainingも使用していました。こちらはレベルに合わせて、ABCの問題を出題場所別に何問か選びコンテストとして開いてくれるものです。
自分一人では難易度や出題時期を見ないで問題を解くのは意外と大変なのですが、完全にコンテストと同じようにして出題してくれるので本番と同じような状態で問題と向き合うことができます。早解きの練習にもなります。
また、レッドコーダーが教える、競プロ・AtCoder上達のガイドライン【中級編:目指せ水色コーダー!】に書いてあることを取り組み始めました。
こちらの記事はタイトル通り、水色になるにはどんな能力が必要なのか、またそのために何をすればいいのか、というのがわかりやすくまとめられています。
具体的には現在精選100問を取り組んでいる真っ最中です(bitDPムズすんぎ)。
3.最後に
今の精進の状態を載せておきます。
・途中抜けているのは院試と研究室関連です。
当分の目標は水色と見せかけて、まずは茶色に落ちないように精進します。ここまで読んで頂きありがとうございました!
4.後書き
こんな感じで何か文章を書くことは昔から割と苦手な部類なのですが、入緑のツイートが予想以上に見ていただけたのでいっちょ書いてみるかと思いました。自分も人の色変記事は見るの好きなので誰かの暇つぶしにでもなってたらなと思います。
というかLaTeXとかに比べて文章がすごい書きやすくてびっくりしました。今後も何か書きたいと思うことができたら何か書くと思うのでよかったらその時も見て頂けたら嬉しいです。