AtCoder水色になりました

嬉しいです

 こんにちは~、ころもと申します。入緑から9ヶ月?10ヶ月?ということで結構苦しんだので具体的に何をやったのか振り返ります。

少しでも参考になれば幸いです。

自己紹介など

千葉大教育学部の教員養成課程というところにいます。文系です。プログラミングには競技プログラミングでしか触れたことがありません。俗にいう純粋培養競技プログラマです。

やったこと

1. コンテストに出た

当たり前の話ですが、コンテストに出ました。

寝落ち、バイト、AGCunrated以外は全部出たと思います。精進を一切しなくても毎週コンテストに出れば最低限実力は保てると思います。

レートが下がるから出ないという考え方は個人的にはよくないかなと思ってます。短期的にはその通りなのですが。それよりもコンテストで経験を積むことの方が大事です。

これはよく思っていることですが、ABCが全完できるようになれば黄色になれる、と考えれば一問解けなかったくらいでレートが下がることはどうでもよくなります。すごく遠い目標ですが。。

2. EDPCをやった

これはすごく勉強になりました。DPは水色になるためには必須の知識だと思います。DPに苦手意識を持っていて、かつ、EDPCをやったことがない方は解いてみてはいかがでしょうか。

ナップサックDP、区間DP、bitDP(集合DP)、ゲームDP(双方が最善の手を尽くしたとき~みたいなやつ)、LCSなんかは知っておいても損はないと思います。ABCだとDとかEとかによく出てきている印象があります。

3. アルゴリズムやデータ構造について自分で理解した

緑になったばっかりの頃は、ダイクストラ法とかセグ木とか、中身がどうなってるのかよく分からないものばかりでしたが、1から自分で書けるくらいにはなりました。

アルゴリズムやデータ構造はライブラリとして持っているだけでは、少し問題をひねられただけですぐに解けなくなるという印象です。

UnionFindは中身が分からなくて困ったことがないので未だによく分かりません。

4. 精進

f:id:koromo_kyopro:20210619234418p:plain

最近は忙しくてほとんどやっていません。12月くらいに少しだけやっていた緑・水埋めも、勉強になったかと言われると分からないです。多分そういう勉強法は私には向いてないだけだと思いますが。

できること

・全探索

・二分探索

・DFS

・BFS

・簡単なDP

ダイクストラ

・ワーシャルフロイド法

・累積和

・RollingHash

・逆元を求める、mod_nCk

・mod_pow(繰り返し二乗法)

・セグ木

・Union-Find

など

今後やりたいこと

1. 典型90

今めちゃくちゃアツいやつですね。まとまった時間ができたら埋めたいです。

2. ライブラリ整理

ライブラリが少ないです。セグ木も毎回1から書きます。抽象化とかよくわからないです。。。

自分でいろいろ書こうと思ったのですが、構造体云々が分からなくて挫折しました。

構造体を理解していないまま水コーダーになってしまいました。。。

おわりに

水色になることが目標の1つだったので嬉しいです。この感じだと青になるのはまた一年くらいかかってしまうようなきがして、気が遠くなりそうです。まあ、気長にやります。

読んでくださりありがとうございました~ ++(^~^)++