AtCoder 緑色になりました
前回のあらすじ:茶色くなりました
入緑
AtCoder のランクが緑になりました。わーい。緑くなるまでの経緯を書きます。
私について
- AtCoder アカウント
- 大学生。非情報系
- 使用言語:C++
勉強方法
いつもお世話になっている記事、レッドコーダーが教える、競プロ・AtCoder上達のガイドライン【中級編:目指せ水色コーダー!】に従って勉強しました。記事では緑コーダーになるには? は書いていませんが、茶色→水色への指針が書かれています。
新たに学んだ内容
蛇足な感もありますが、上の記事に倣って勉強したアルゴリズムなどを列挙します。他に参考になったページも掲げます。
- 深さ優先探索(DFS):改めて勉強した。DFS (深さ優先探索) 超入門! 〜 グラフ・アルゴリズムの世界への入口 〜【前編】はグラフの基礎も学べる。DFS (深さ優先探索) 超入門! 〜 グラフ・アルゴリズムの世界への入口 〜【後編】:発展的な内容が多いが面白かった
- 幅優先探索(BFS):上に同じ。BFS (幅優先探索) 超入門! 〜 キューを鮮やかに使いこなす 〜がBFS 版の記事
- 動的計画法:ナップザックDPの簡単なのだけ。記事で紹介されているものではなく動的計画法超入門! Educational DP Contest の A ~ E 問題の解説と類題集を読んだり解いたりした
- 高速な素数判定法:実は既に灰~茶色の時点で学習済み。ライブラリを作っています。AtCoder 版!マスター・オブ・整数 (素因数分解編)が参考になる。なお、まだ全て読めていない
- いくつかの STL:
gcd
,stack
,pair
動的計画法(ナップザックDP)の勉強にほとんどの時間を費やしました。ここまでで一番習得が大変そうです1。
過去問練習
茶色後半のとき、コンテスト本番、B問題などでつまづく重大インシデントが多発しました。この頃は灰diff はほとんど解いていませんでした。これが仇をなしていると考え、速く正確に解く練習を始めました。方法は、過去問各回を、A から茶diff問題までを時間を測って解く、です。実際のコンテストでは練習の感覚を頼りに、焦らず丁寧に素早く解くようにします。まだこの方法が良いのかはっきりとした結果は見えていないので、後日追記します。
より難しい問題については、上の早解き練習で掛けた時間を$x$ 分としたとき、$(100 - x)$ 分の時間で解くということをしています2。
その他
- ノートは結構効果があるので続けています(入茶記事参照)
- 自分とレート 1000↑ の人たちが同じ色というのに違和感があります。。
- ラーメン食べたい