はじめまして
挨拶
初めまして。
駆け出し競技プログラマーのSEMIです。
これから『100日後にAtcoderで緑コーダーになる人』です。
そのために競技プログラミング(ほとんどAtcoder)の記事を毎日投稿していこうと思います。
なぜ、記事を書きたいのかと思ったかと言いますと全然に緑にあがれなかったからです。
そもそも競プロを初めたきっかけは、現職の半導体エンジニアからIT転職したかったからです。転職活動で武器になるものを探しているときに「Atcoderとかいうサイトで緑色になれば未経験転職に役立つらしい」と小耳にはさみ、Atcoderを始めました。そしてズルズルと競プロ沼にハマっていきます。。。
始めた頃にアルゴリズム知識がロクにないのに2回目で緑パフォが出てしまい、、、「緑なんて余裕でしょ!」と完全に天狗になっていましたが蓋を開けてみると5か月弱でなんとか茶色と結果に。。。一度2桁パフォまで出してしまって心が折れかけましたが、そのころにはすっかり競プロの魔力に取りつかれてしまっていました。
緑コーダーになるために必要なものは何かをずっと考えていましたが、最近なってようやく分かりました。私には圧倒的に基礎力が足りていません。基礎力を高めるには私の記事の3つの柱となるABC、典型90、主要アルゴリズムを人に教えれるレベルにならなくてはいけないと思いました。学習において良質なアウトプットに勝るものはありません。誰が読んでも理解できる記事を書いていきたいと思います。
作成していく記事の3柱
①Atcoder Beginner Contestの解説
②典型90問の解説
③主要アルゴリズムについて
使用言語はpythonです。
それぞれの記事の目的
-
①Atcoder Beginner Contestの解説
既に世の中にたくさん良い記事が出回っていますが、その方たちが強すぎるが故に私のようなプログラミングをほとんどやってこなかった人間では思いつかないような解法(ABCのA問題やB問題に関しても)があったりしてよくわからないこともありました。私と同じような境遇の方(灰・茶コーダー)に見てもらって一緒に成長できたらなと思っております。
そもそも知らないと解けないような典型解法の見抜き方や出題者の意図(個人的勝手な解釈ですが)を中心に記事にしていきます。 -
②典型90問の解説
典型90問はE869120 @tweet さんが主宰している最強競技プログラミング学習コンテストです。私自身何度かこれを解いていたおかげで本番中に問題が解けたことがありました(ほとんどは本番で出た後に類題を発見して悔しい想いをしていますが。。。)典型90問の出版されるそうです。私は絶対に買います。買う予定ですが、現在公開されている問題解説が画像1枚なので初学者にはかなりハードルが高く、典型90問だけで学習を完結させるのが難しいのが現状です。そのため自分が理解するためにも灰・茶コーダーにもわかりやすい記事を書きたいな思った次第です。まぁ典型90問の書籍では解説ページが増えるらしいので早いうちにこの記事は書かなくなるかもしれません笑 -
③主要アルゴリズムについて
これも素晴らしい書籍、素晴らしい記事がたくさんあります。けんちょんさん@tweet の書籍・記事は有名ですね。動的計画法(DP)の理解では大変お世話になりました。学べるコンテンツはいっぱいあるので、これに関しては完全に自分の理解を深めるためになります。知らないアルゴリズムは都度理解して自分のものにしていきましょう。
終わりに
最後まで読んでいただきありがとうございました。もともと文章が苦手ではじめてブログを書きましたが、少し疲れました。プロガ―は凄いですね。
100日後に緑コーダーになるために努力しますが、なれなくてもしれーっと続けていきたいと思います。
ちなみに100日後というのは、あるレートに到達するには、そのレートのパフォーマンスを10回連続で出す必要があるらしいので達成不可能でも可能でもあって概ね妥当な設定かなと思ってます。
それでは。
Discussion