橙になりたいaquarium

にゃーんにゃーんにゃにゃーん

atcoder水色になった話

ABC結構変化しましたね。

先日ABC4完で水色になれました。

こういうときってブログでも書いてる人いたりするよねって感じてるので書きます。

結構だらだら書きます、、



私は1年半ほど前に高専1年生のときの授業でプログラミングを初めてしました。

数学は得意だけどもともと要領が悪く、プログラミングの考え方が初めはまったくわかりませんでした。


競技プログラミングを初めたのはクラスメートが何人か(その時点で5~10人ぐらい)やっていたからです。


初めは授業で習ってたC、それからpythonc++も始めました。
クラスメートとかに教えてもらう以外には精進はまったくしてなかったのですが、茶になってから3連続で冷えたことがあって、さすがに危機を感じて精進を始めました。
(無精進の限界のレートが600だと感じました。)


まずABCのAを埋めました。
プログラミング自体の練習もかねていて、言語はそのまま3つを乱用してました。

Bを埋めるときにはc++に固定されていたと思います。(2年の夏休みぐらい)


次にARCのAを埋めました。
難易度にばらつきがあるので、簡単な問題には当時軽くさわってたjavaとかC#を使ったり、縛りプレイをしてました。


とかしてたら緑になってました。


正直言って緑になってからは全くと言っていいほど精進をしていない(はず)。
新しくアルゴリズムを覚えたりはしてたかもです。


コンテストが多かったのもあり、順調にそのまま入水してました。

途中unrated2連発とかそのあとの爆死芸で少し停滞しましたがそんなに影響はなかったです。






茶色になってからはたまに大幅に温まるときがあって、数学がでてくれると大抵温まります。

プログラミング自体に慣れれば、あとは数オリとかで勉強したことを生かせばそれなりに安定できました。


今の悩みはというと、水になったのはいいのだが、私は青パフォをとったことがない。
青になれる見込みがまったくないのである。






・競プロを始めるまで。
授業でCを習った
ただし私はifとforとかしか理解してない。

・茶になるまで
クラスメートとかにプログラミングのやりかた自体を教えてもらったり。
Cとpythonc++の乱用
c++にしかないような関数とかをけっこう覚えた

・緑になるまで
アルゴリズムを勉強し始めました。
累積和
vector、pair
尺取法
dp
bit全探索

・水になるまで
幅優先探索 , queue
(深さ優先探索は勉強する前に自分で思いついてかけてた)
二分探索
UF
stack, deque, set





まぁ僕の一番の課題は実装力なんですよね。
考察できてるのに書けないとかいう、表現ができなかったりするのがある。

そこは精進かなぁとは感じてるがここ数ヶ月精進をしていないのでやる気をだせるか不安である。



PCKに向けてがんばる。
というわけだが実装はすべておーじに任せるとしよう