ももはらの日記

日記を書きます

AtCoderで青になるまでにやったこと

はじめに

こんばんは、ももはらです。

今回、ABC157でAtCoder青になりました。

なので、初めての色変記事を書きたいと思います。

といっても、日記的なものなので、役立つ記事が読みたい方はブラウザバックしましょう。

f:id:momoharahara:20200301233559p:plain

目次

 

茶になるまで

「kakiraさんになにか面白いもの進められたぞ~?」でAtCoderをはじめてみたものの、最初はよくわかっていませんでした。

初回でAGCにでて0完したりを2回繰り返して、3回目に参加したABCで3完し、はじめてコンテスト中ACを達成しました。このときはCをけんちょんさんのブログで見たばかりの累積和で通せて嬉しかったです。

緑になるまで

C++を触ったことはあったものの知ってるのはvectorまでで、mapやsetなどのSTLを全く知りませんでした。なので、まずはSTLでなにができるのかを調べてたりしました。この頃はコンテストのたびにC++リファレンスとにらめっこしてました。

水になるまで

このころはとりあえず過去問を解いたり、コンテストに出て、とけない問題は教えてもらったりしてました。特にグラフ問題まわりのアルゴリズムダイクストラとかワーシャルフロイドとか)すごいとなりはじめました。

あと、高専出身なのもあり高校数学できないのが悔しかったので、組み合わせ周りを勉強したりしてました。重複組み合わせを理解したときは天才になった気分になれました。まだまだ抜けがありそうなのでまた勉強したいです。

青になるまで

勉強したこと

アルゴリズムの勉強ちゃんとするか~と思って蟻本を買ったりしました。けんちょんさんのブログを見ながらちまちますすめていて、いま初級編のおわりあたりにいます。おかげで、最近だと区間スケジューリング問題や個数制限なしナップザック問題が解けました。やはり後出しじゃなく勉強するのはいいなとなりました。

過去問ときも並行してすすめて、特に、「グラフ楽しくないですか?」になって集中的にときました。最近のお気に入りは拡張ダイクストラです。頂点を増やして典型問題に落としこむという発想、めちゃくちゃ面白いです。解けても解けなくてもこの問題たのしー!となります。

また、最近では「制約から考える」ということを重視するようになりました。制約と照らし合わせて考えることで、TLEになる解法を無駄実装するのが減り、制約から解法が思いつくことが増えました。

DPやにぶたんなど、いままで知っていても思いつけなかったアルゴリズムを、制約から考えることで徐々に思いつくようになっていて、ここらへんは、まだまだ伸びしろがあると思っています。

モチベになったこと

学生最強コンのイベント参加枠に入れてたので、水色になってすぐに参加してみました。

この日、ぼっち回避のためにTwitterをつくりました

懇親会では、黄コーダーや青コーダーにびくびくしながら、お話をさせてもらいました!(いやほぼ同じ大学の人たちについていってましたが)

オンサイトイベントの空気を感じ、Twitterで競プロアカウントをつくったのは、かなりのモチベになりました。

おわりに

ABC157では、Cの実装が重めで、これひえるか~って思ったらDがグラフ問題でテンションブチ上がり最後まで頑張れました。なので、好きな問題とかを持っとくと、コンテスト中のモチベを保つのにいいかもしれません。

また、グラフ以外にももっといろんなアルゴリズムを勉強して、好きな分野を増やしていきたいです。

ここまで読んでいただきありがとうございました。