i7_yoc's something

数学科…なのか?

AtCoderで黄色になりました。

2020/3/22のABC159で黄色になりました。

f:id:i7_yoc:20200323154708p:plain

 

AtCoderを初めて約3年、67回目のコンテストでようやく黄色になりました。

せっかくなので黄色になるまでを振り返ってみようと思います。

 

・青になるまで

黄色になるためにはまず青になる必要がありますね。青になるまでの記事も昔書いたのでリンクをおいておきます。

AtCoderで青になりました。 - YoC精進記

 

・青になってから

レートの推移でわかると思いますが、青になってから一度停滞期がありました。highestからレートが150下がりました。

主な原因はAGCで0完をしてしまったことなんですが、その先もなかなかレートが戻りませんでした。

f:id:i7_yoc:20200323155405p:plain

では、どうやってこの状況から立て直したかを自分なりに分析をしてみます。

 

大きな要因として、日頃から競プロをする習慣をつけてしっかりと精進したことが大きいと思います。AtCoder Scoresで精進グラフを表示してみました。

f:id:i7_yoc:20200323155717p:plain

停滞期のあたりはちょうど精進が止まっていた時期で、精進をはじめてからはレートが伸びているのがわかります。(最近の傾きが緩やかなのは、適正難易度の問題を埋めきってしまって復習中心になっているからです。)

日頃問題を解いてないと、気づかぬうちに忘れてしまうことがたくさんあります。(特に実装面においてはこれが言えると思います。)

さて、精進を再開したきっかけですが、グラフを見ると昨年11月くらいから精進を再開していることがわかります。この時期に僕に何があったかというと…パソコン甲子園本選に行きました。そう、実はこの日から今年の2月末辺りまで100日とちょっとStreakを繋いできたんですよね(唐突な自慢)。

日頃のコンテスト(ABCとか)に慣れてくると1回1回のコンテストを軽視してしまいがちです。ですが、PCKやJOIは1年に1回だけの大会であり、僕にとっては「この大会のための」精進をするような大会でした。このような大会に出ることでより競プロのモチベーションが上がったと思います。このような大会に出ることで、もっと実力をつけたいと思えるようになり、また競プロの楽しさに再び気づくことができ、日頃から精進をしようと思えたのでした。ここになるまで精進をしてこなかったのは駄目だなと思いますが、まあ結果としてこのことに気づけたからOKみたいな面があると思います。

 

で、もうちょっと具体的な話をします。

これを見てください。

f:id:i7_yoc:20200323161140p:plain

AtCoderの過去問(ただしRatingのシステム導入後のもの)の、difficultyが青・黄色の問題を(ほぼ)全部解きました。(またもや唐突な自慢)

昔はdifficultyの表示がなかったのですが、精進から離れている間にAtCoderProblemsがdifficultyを表示してくれるようになり、適正難易度の問題を選ぶことができるようになりました。ありがたいですね。

あまり難易度の高すぎる問題を解いても解説すら理解できずにモチベを失ってしまうかもしれませんし、かと言って難易度の低い問題ばかりを埋めていても(早解きの練習にはなるかもしれませんが)実力がつくとは思えません。

ちなみに解説ACについてですが、僕は程々ならしてもOK派です。これは結果論になってしまうのですが、例えば2時間くらいいろいろ考察したが何も思い浮かばなかったとか、そういう場合に解説を見て、自分が思いつくのは不可能そうな考え方を使う問題に出くわすこともあります。例えば、僕はNimやGrundy数の概念を青になってから知りましたが、どのようにGrundy数を設定するとうまく行くか、とか、そもそもゲームの問題は基本的にどのように考えるものなのかとか、そのようなものを自分から再発明するのはなかなか大変ですしかなりの時間を要することになると思います。

ただ、解説ACは最小限に留めるべきだとも思っています。なぜかというと、先程のProblemsの画像を見てもらえばわかりますが、例えば青difficultyの問題はたかだか100問程度です。(Ratingシステム導入前の問題を含めても150問程度。) これは頑張れば普通に埋めてしまえるような量で、解説ACしたあとの演習が十分にできないと思うのです。

あとこれもあくまで自分の意見ですが、difficultyがx色のコンテスト中に解けるようになりたい場合は、その色の他に、その1つ上の色の問題も合わせて埋めるといいと思います。(つまり自分のレートの1個上まで埋めるようなイメージです。) じっくり考察して解けることと、コンテスト中に通せることはまた別です。1個上の色くらいの問題をやると、考察力に余裕が出てきて、コンテスト中に目標難易度の問題を解くことができると思います。JOIのときも同じようなことを思ってました。

自分はあまりやらなかったのですが、ばちゃをやるのも有効だとは思います。

 

とここまで参考になるかわからない文章を書いてきましたが、黄色コーダーを目指す人たちのお役に立てたら幸いです!