こんにちは、もふたろう(@angry_cat1106)です。先日Atcoderでレート水色を達成したので、せっかくなので記事にまとめてみようと思います。
はい。色が変わるのは気持ちが良いですね。
今回は水色になるために僕がしたことと、水色になりたいと思っている方がすると効果的だと思うことをまとめようと思います。
1.僕がしたこと
- AtCoder Problemsで、過去のD問題をひたすら埋めていました。
自力で解けない問題が半分以上はあったので、できない問題は解説を見てACをもらいました。
個人的には、考察の一歩目すらどう踏み出して良いか分からないような難問や、30秒で答えが浮かぶようなやるだけ問題を解くよりかは、解けるか解けないかのギリギリの所の問題を解いて勉強したほうが良いと思います。
僕はABCでD問題を通せるか通せないか位の実力でしたので、Dを埋める事にしました。例えば本番でCを通せない時がある場合はまずC問題を解いていくと良いと思います。
- 蟻本を読みました
数学力が無なので証明はほとんど理解していないのですが、どんなアルゴリズムを使うと、どんな問題を解けるか把握しておくのは大切だと思います。
(例.ダイクストラを使うと最短経路問題が解ける。二部探索を使うと高速に解を最大化する問題を解ける。segmentTreeを使うと区間のクエリを高速に処理できる)
- Twitterで競プロerをフォローしました
モチベーションが高い人に触発されてやる気が出たり、強い人に情報を頂ける等のメリットがあります。
2.すると良いと思うこと
- ひたすら過去問を解く
現時点で難しいと感じる問題を解くのが効果的だと思います。しかし、僕くらいのレートだと難問はたいてい解けませんので、復習が大切になってきます。
大事だと思うのは解説を読む(or動画を見る)となぜ解けなかったかの分析
です。
解説を見るのは悔しいですが、分からないまま放置するよりかは素直に解き方を学んだほうが良いと思います。
解説を見て解き方を理解した後は考察力が足りなかったのか、はたまた実装力が足りなかったのかを考えてみましょう。
実装力不足→自分より上の人のコードを読む
考察力不足→解説の考え方を自分なりにきちんと理解して、似たような考え方の問題は今後解けるようにする。
この振り返りを終えたら、解説を閉じて自分で実装をしてACを貰う所までやると良いと思います。
こんな感じで復習をして行けば実力は上がっていくと思います。
- 典型力の強化
競プロでは、知らないと解けないようなテクニックが結構あります。その中で水色になるのに必要だと思う知識を列挙してみます。
辺りを抑えられると良いですね。
これらのテクニックを鍛えられるABC-D難易度前後のオススメ問題を貼ります。
これらの問題は全て上記の知識で解ける上、考察力も中々に必要な良問ばかりだとですので、ぜひ解いて見てください
-
終わりに
次は青コーダーになった時にブログにまとめられると良いな~
と思います。(いつになるかは未定ですが)
ここまでお付き合いいただきありがとうございました!