AtCoderで水色になるまでにやったこと

やっちゃ〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
きちゃ〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
遂に!
f:id:UGIS:20200217192049p:plain AtCoderで水色になりました!!!!!!!!!!!!!!!!!!!!!!!!!
(水色になるまでにこんなに停滞した奴なかなかいないでしょ)
n番煎じです。通過儀礼みたいなところがあるので(?)水色になるまでにやったこととか,すこしポエムとかを書きます.

やったこと

灰 〜 茶まで

  • A,Bあたりをいっぱい解いた
    この辺はプログラミングそのものや使ってる言語に慣れてきたあたりで卒業できました.今はもっと厳しいと思います

茶 〜 緑まで

  • Cを埋め始めた
  • PCKの予選に出た

平成の頃はCまで30分くらいで緑パフォが出たんですよね...
個人的にPCKの過去問をやったのは早解きに効いたと思います.

緑 〜 水まで

800 〜 1000 まで

  • Cをほぼ埋めた
  • Dを埋め始めた
  • JOIの予選に出た
  • 某ITエンジニア・プログラマ専門の総合求職・学習サイトでSランクになった

この頃はCを20分くらいで通せるようになるとパフォが1000くらい出たので, C早解きとDを通せるようになることを意識して問題を解いていました.
JOIの難易度5あたりまでを半分くらい埋めました.JOIの問題は教育的な問題が多いのでオススメです. 記憶が曖昧ですがこの頃はCSAとかも埋めてた気がします. 2019年の1月くらいに競プロerの間で某に殴り込むのが流行っていたので流行に乗ってSランクを取りにいきました.(これのせいでSランクのボーダーが上位2%になったのはあまりにも有名)

1000 〜 1219まで

2019年5月 〜 9月

  • Dを半分くらい埋めた
  • Vのヲタクになった
  • 開発をした
    このあたりはテストでコンテストに参加できなかったり,Web開発をしたりで競プロのモチベが無だったんですが,ちょこちょこDを埋めたりしていました.

9月 〜 12月

  • ISUCONに出た
  • 庭(ライブラリ)に木(データ構造)を生やした
  • PCK予選の6〜7問目くらいまでを埋めた
  • AOJ - ICPCの200点くらいまでのやつをちょっとやった
  • PCK本選に出た

ISUCONは興味があったので先輩と出てみたんですが,ほとんど椅子を温めていました.
このあたりはコンテストに出ても全然レートが上がらないし,E問題全然ようにならないしでうつになっていました.
なのでAtCoderから一旦離れて,AOJに篭ったりライブラリ整備をしたりしていました. ライブラリ整備はかなり楽しくて,コンテストで使う機会はほとんどなかったんですが, アルゴリズムやデータ構造を考えるときの基本的なアイデアや気持ちといった知見が得られたので良かったと思います.
PCK本選に出たのはかなり良い体験だったと思います.当日はTwitterでよくみる競プロer実在してるやんけ,スゲ〜〜〜って言ってました. 本選ではかなり冷えてしまったし,クラスメイトがモバイル部門で優勝したので,このあたりから自分もなんか実績作らないとやべ〜〜と焦りを感じていました.

12月 〜 今

1月の中頃まではこどふぉとか出て精進してるのに,コンテストで冷えまくってhighestから100以上下げていて,競プロつまんね〜〜〜って言ってました.
冷えているときは競プロのモチベがほぼ0になっていたので数学に逃げたり,前々から興味があった機械学習に入門したりしていました.結果的に数学をやったのはかなり効いたと思います.
特に数学ガールの秘密ノート/学ぶための対話を読んでからは,
- 自分は何が分からなくて分からないと言っているのか
- どうやったらその発想に到れるのか
を納得できるまで考えるようになったので,解けない問題に出会ったときの経験値の量がかなり上がった気がします.
他にも気をつけるようになったこととして,
- コンテストのすべての問題を読むようにした
- コンテスト中に解けた問題数+1問解くようにした
の2つがあります.
すべての問題を読むようにしたのは令和ABCになってからDにちょっとむずかしめの数学問が出て解けないということがあったからです.
Dで詰まると実質10分でコンテストが終わってしまってつまらないので,5〜10分考えて何も思いつかないなら次の問題を見るようにしました.
また,Dまで早解きすればギリギリレートが上がるくらいだったのですが,正直早解きでレートを上げるのも限界に来ていましたし,解ける問題だけ一瞬で解いてコンテストを終えるのもつまらないので,コンテスト後にDまでか解けなかったらEを,Eまでしか解けなかったらFを解説ACするようにしていました.これはかなり効いたと思っていて,コンテストでしか問題を解いていなくても解ける問題が少しずつ増えていくのでちょっとずつでも経験値が溜まっていきます.
あとは,にうくんに「こどふぉでろや」と言われたのでこどふぉに出ました.Div.2でA,B早解きしたら水色になれたので緑あたりで伸び悩んでいる人にオススメです(モチベに効きます)
こどふぉではAtCoderでよく見るパズル問題をあまり見ないのでパズルが苦手な人はこどふぉの方が楽しいかもしれません(ただしコンテストに参加するのが難しい)
前のコンテストの前日に劇場版 ハイスクール・フリート 4DX版を観ました.テンションがぶち上がったので,これがコンテストでのパフォーマンスにつながったと勝手に思っています.
最後にこれはマジで何も関係がないと思うのですが,コンテスト当日の夕方にじょえチャンネルbotをデプロイしました.
な に こ れ 笑
f:id:UGIS:20200217222246p:plain twitter.com
自分でもなんでこんなものを作ったのかよくわからないんですよね.ほぼ思いつきの勢いだけで作りました.
ちなみにアイコンは手書きです(雑さが出た方がいいかなと思ったので)
じょえチャンネルbotはこれからも機能を追加する予定なのでお楽しみに!

水色になるまでに学んだこと

頑張ってるつもりなのに成長が見えないとつまらない

これは競プロじゃなくてもそうなんですが,自分の成長が見えないとマジでつまらないです.
つまらないときは適当にVの配信漁ってヘラヘラしてるほうが万倍マシなレベルでつまらないんですが,こういうときこそ成長するチャンスだと思っています.
停滞してしまうのは今までと同じやり方じゃダメだということだと思うので,こういう機会に自分の精進の仕方を見直してみるのがいいと思います. ただ,やり方を変えても結果が出始めるまでに少し時間がかかるので,この間にやめてしまわないことが重要です.
また,競プロはレートによって自分の相対的な強さを認識できる分,それの変動を自分の成長の指標にしてしまいがちです.僕も昔はそうでした.
レートの変動を成長の指標にしてしまうと,たまたま難しかったり,自分が苦手だったりする問題が出たときにレートが下がってモチベが下がりがちなので,自分の中でレート以外の成長の指標を持っておくのがいいと思います.僕はバチャでの完数とかn完までの時間を指標にしています.

納得するまで考えた方がいい

試験勉強とかだと多少わからないことがあっても試験のために一瞬だけ暗記してしまえば,もう一生問われることがないことがそこそこあるのでそれでもいいんですが,競プロだとなんとなくわかった程度で放っておくと似たような問題に出会ったときに解けないというツケが回ってくるので納得できるまで考えた方がいいです.僕は昨日の自分がこれなんでなんですかって突っ込んできそうなところを全部説明できることをゴールにしています.

特別得意じゃないことでも続けていればある程度のところまでいける

別に数学とかパズルが得意じゃなくても,異常精進しなくても,ダラダラでも続けていればある程度のところまでいけます.
途中でつまらなくなってしまっても結果を出したいなら頻度が落ちてもいいので続けましょう.
僕は一回やめてしまうと一生戻ってこれなくなるタイプの人間なので,これからもなんとかやめずに続けていけたらなと思います.