おはようございます。しほみんです。
競プロ初めて1年たちました。
今は、レート935で、緑コーダーです。
参加回数は50回なので、毎週参加したって形ですね(unlatedもあるので…)
推移でも見ながらいろいろ振り返ろうかなと思います。
灰色、茶色、緑色という順に振り返ります。
今回は灰色について振り返ります。
ところで、自分の数学的な状況とか初めに話しておきます。
<自分の競プロをはじめるきっかけ>
・親友方がやっていて、プログラムで数学的な問題を解くのが面白そうだったので。
<自分の数学能力>
・そもそも数学は好きですし、得意科目です。
・大学受験(早慶、東大)もほとんど数学と理科で乗り切っています。
・競プロで使いそうな場合の数、数列、最小公倍数、素因数分解ぐらいはすんなり理解できます。
<自分のプログラミング能力(始めたとき)>
・情報科学は知らない(わからない)。
・for,if,while文でしか実装できない。
・C#でクラスと関数については業務上で使っていたのでフル活用できる。
・グラフとか木とかデータ構造は不明。(二分探索さえ知らなかった...)
・基本情報処理はなぜか持っている(Javaで無理やり解いた)。
まあこんな感じです。なので正直数学的問題が得意です。
始めてから灰色脱却まで
初めてのときは標準入出力を理解するだけで終わりました。それぐらいまずは基本で躓いています。多分これを2-3回繰り返してました。
正直いまだに入出力は慣れないです...時間食います。
とはいえ、そこからは基本的にC問題まで解けるようにしました。結構基本的なことなのでプログラムを書いている人ならあんまり困らない気がします。
C問題が早めに解けるようになるとパフォーマンスが500-800までいくので、回数を重ねるとおのずと灰色は脱却できます。でも12回かかってる....
できること
・for文の繰り返し、if文の分岐
・簡単な四則演算
・特にアルゴリズムとして勉強してないかも....(数列使うとかそのレベル)
・型の理解(intやlongの適用範囲、オーバーフローの認識)
・超簡単な計算量の見積もり(Nの2乗じゃダメとかN!や2のN乗じゃ無理やろ...ぐらいの認識。まだ問題を解くときは使えていない感じ)
本当に灰色だと部分的なことしか評価できないのでできることも可視化しづらいですね。社長さんが評価困っているのも納得できます。
最後に....
茶色に行くには数学的教養かプログラム的素養のどっちかがそこそこ強ければ、到達はできる気がします。
しかし、やっぱりアルゴリズムの勉強をしてきちんと伸ばしていくべきだと思います。正直、アルゴリズムを理解してればもっと早く上がれましたね。プログラム的な処理はアルゴリズムのほうが大事です。
明日は茶色の時期の話をしようと思います。
ではでは。