僕のatcoderの学び方(〜水色)
前の記事 僕のatcoderの学び方(〜緑)
僕の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
前の記事 僕のatcoderの学び方(〜緑)
前の記事で書いた「気づきの言語化」は続けている
時を置いて複数の問題が反応したりして、ゆっくりと結晶化が起きている感じ
「気づきの言語化」という名前は適切ではない
変形の過程で使われてるテクニックに名前をつけてScrapbox上のタグにしていくこと
「変形テクニックに名前をつける」
これは間違いなくレート向上に寄与している
今回ARC106のDが解けたが、これがなぜ解けたかというと行列の半分→二項定理→足し算の順序の変更の3つのテクニックを脳の引き出しから取り出して使うことができたから
名前をつけることで「取り出してくる」ときの取っ手になる 概念のハンドル
ライブラリの整備を始めた
テストできるスニペットライブラリ
今回で言えばUnionFindとmod Pでの組み合わせの計算に関してはライブラリから取り出した
学習系コンテストを解いた
Educational DP Contest
動的計画法についてのコンテスト
これをやってたのが活動量の多い7月ごろ
AtCoder Library Practice Contest
AtCoder Libraryに追加された色々なアルゴリズムについてのコンテスト
水色手前で足踏みをしていた
上記のような学習とライブラリ整備で「道具箱の中身」は増えた
しかし問題を見て「あの道具をこう使えば解ける」と解法やアルゴリズムに帰着するところが弱いと感じた
帰着する力はどうすれば鍛えられるか
それの鍛え方を探る目的で帰着訓練を始めた
これは簡単に言えば「問題を見てプログラムを書くのではなく、自然言語で解法を書く」というもの
まだ始めて4日くらいだが、良さそうに感じる
「考えたこと」が詳細に言語化されることで、何を勘違いしてるのか、見落としてるのか、気づけていないのか、が明確になる。
やらなくなったこと
NumbaやCython、Numpy
自分の現在位置をよくよく考えてみると、そんな高速化よりも適切なオーダーの解法に速やかにたどり着くことが大事
時間の投資対象としてこの種の高速化は適当でない
なのでPyPy3で「何も間違ってないのに言語が遅いせいでACできない」ってなるまではPyPy3だけでやる
コンテスト後に全完を目指す
解けなかった問題を解説見てから全部解こうとするやつ
一時期「全部解くこと」が目的化してしまっていたのだけど、それって目的だっけ?と思い直した
---
帰着訓練 10/20~