僕のatcoderの学び方(〜水色)
水色直前で1ヶ月ほど足踏みしていたがARC106でやっと水色になった https://gyazo.com/f6135300b90474a9c0175d10ef3dfc84
https://gyazo.com/0c19e85e8e4d6363373c906c7b48e375
普段あんまり見ていないのだけど、AtCoder Problemsで色々な統計量が見られる。今までに151問ACしたらしい。始めて5ヶ月くらいなので1日平均1問か。
https://gyazo.com/1e5e3a08cebe8e17297bbb8b359d9ed6
https://gyazo.com/3fb401a14bfca098dcd55d38b74d2dd1
ヒートマップを見ると6〜7月にすごく活動してて、その後は 主に週末の活動だということがわかる。
https://gyazo.com/a545e29a1fe805d14403c557efcb5833
時を置いて複数の問題が反応したりして、ゆっくりと結晶化が起きている感じ 「気づきの言語化」という名前は適切ではない
変形の過程で使われてるテクニックに名前をつけてScrapbox上のタグにしていくこと
これは間違いなくレート向上に寄与している
名前をつけることで「取り出してくる」ときの取っ手になる 概念のハンドル ライブラリの整備を始めた
学習系コンテストを解いた
これをやってたのが活動量の多い7月ごろ
水色手前で足踏みをしていた
上記のような学習とライブラリ整備で「道具箱の中身」は増えた
しかし問題を見て「あの道具をこう使えば解ける」と解法やアルゴリズムに帰着するところが弱いと感じた
これは簡単に言えば「問題を見てプログラムを書くのではなく、自然言語で解法を書く」というもの
まだ始めて4日くらいだが、良さそうに感じる
「考えたこと」が詳細に言語化されることで、何を勘違いしてるのか、見落としてるのか、気づけていないのか、が明確になる。
やらなくなったこと
NumbaやCython、Numpy
自分の現在位置をよくよく考えてみると、そんな高速化よりも適切なオーダーの解法に速やかにたどり着くことが大事
時間の投資対象としてこの種の高速化は適当でない
なのでPyPy3で「何も間違ってないのに言語が遅いせいでACできない」ってなるまではPyPy3だけでやる
コンテスト後に全完を目指す
解けなかった問題を解説見てから全部解こうとするやつ
一時期「全部解くこと」が目的化してしまっていたのだけど、それって目的だっけ?と思い直した
---