こんにちは、つちのこと申します。AtCoderを初めて1ヶ月と少し、やっと緑レートになることができました!
折角なのでこれまでに取り組んだことをメモしていきます。
1.まず自己紹介
私は18歳の大学一年生で、一応理系、専攻は物理系な予定(なお進振り)で、情報系に進むつもりは今のところ特にないです。趣味としては競プロやピアノ、チェスや音ゲー等を軽くやっています。
プログラミングの経験は、小学生の頃Scratch(猫のあれです)を少し触ったり、中学生でBasicを本当に軽く触ったくらいなので今年の3月までほぼ0でした。また、プログラミングの素養がめっちゃありそうな、いわゆる数強でもありません(二次試験の数学2/3くらいしか取れてないですし、、) そういう人でも精進すれば1ヶ月ちょいで緑まで行けるんだよーっていうのが伝わって、みんな競プロ始めてくれると嬉しいです!(競プロはとても楽しいので)
2.これまでにやったこと
まず、競プロを始める際使用言語で悩んだのですが、一番使用人数が多く解説が豊富にあり、高速なc++にしました。特にこだわりがない場合c++にしてみるのをお勧めします。
その後はAtCoderさんのAPG4bを3章の途中まで読んでc++の基礎を勉強しました 。多分そこまで読み終わったのは3/29くらいです。APG4bはかなりわかりやすくとてもお勧めですが、一部内容が難しかったり章末問題がとても難しかったりするので、そういうところは飛ばしちゃって後で戻って来ればいいと思います。(私もめちゃくちゃ飛ばしました)
そこからはひたすらにAtCoder Problemsというサイトを使ってABCの過去問を埋めてきました。問題を考えて解いてみて、もしわからなかったら解説(Editorial.pdfだったりけんちょんさんのブログだったり)をみて勉強しての繰り返しです。で、これまでどんくらい問題を解いたかというと
現時点で504ACらしいです、思ってたよりやっていましたね。ペースについては以下の画像の通りです。モチベの変動が激しいので、モチベが高い日は沢山解いてますが低い日は全然やってません、まあ趣味でやっているのでこんな感じでいいと思ってます。
解いた問題の内訳は以下の通りです、正直虚無埋め(ABC-AとかBとか)はそこまで実力に寄与するものではないはずなのでやってもやらなくてもいいと思います。
3.現時点で使えるアルゴリズム、データ構造について
今私が使えるアルゴリズムやデータ構造ですが、以下のものくらいだと思います。
・(優先度付き)キュー、スタック、連想配列
・二分探索
・貪欲法
・累積和、いもす法
・簡単なDFS,BFS
・二項定理(MOD付き)
・簡単なDP、桁DP
・簡単なグラフ(正直よくわかってないです)
最近のABCでは、頻出のアルゴリズムやデータ構造を知らなくても思考力で解ける問題(ABC165-D,E,ABC166-D,E,F等)が多い気がするので、正直緑まではそこまでアルゴリズムやデータ構造の知識が無くても行けると思います。それ以上は厳しそうなので勉強しないとまずいですけど、、
4.今後の目標
早く入水して寒色コーダーになりたいです!
以上です、読んで頂きありがとうございました!周りの競プロerさん方からいつも刺激を貰っているので、早く追いつけるように精進頑張りたいです!
もしよければ下のスターを押してくださるととても嬉しいです!
↓