Open3

C++で競プロ勉強メモ

ピン留めされたアイテム
こどはざこどはざ

2 AtCoder Beginners Selection を解く

2-1 過去問10選を解く

AtCoder Beginners Selection
https://atcoder.jp/contests/abs

サイトでも書かれているようにAtCoderのC++入門を先に学んでから解いた。
わからない部分などは以下の記事を参考に読み解いた。

AtCoder に登録したら次にやること ~ これだけ解けば十分闘える!過去問精選 10 問 ~
https://qiita.com/drken/items/fd4e5e3630d0f5859067#5-過去問精選-10-問

問9のgreedyに一番苦戦させられた。発想力が大事なんだと思い知らされた。

2-2 別解の解説記事を読み解く (HEAD)

2-1のQiitaの記事で別解の解説記事が紹介されていた。
発想の柔軟さを学びたいと思い、急がば回れの精神でこちらも読み解いていく(現在実行中)

AtCoder に登録したら解くべき精選過去問 10 問を別解で解いてみた。
https://qiita.com/259_Momone/items/991d31ccc1f830a1d578

次は以下を組み合わせて学んで行く予定。

こどはざこどはざ

1. C++の基礎を学ぶ

AtCoderのC++入門を一通り学んだ。
https://atcoder.jp/contests/APG4b

もともとJSやPHPなどなじみのある言語はあったが、「みんな使ってるんだからC++でやってみよう」「上級者はC++みたいな印象があるからC++をさわってみよう」というモチベーションでC++を学ぶことにした。

内容の習得度は70-80%程度。演算子オーバーロードなど使い慣れず理解の浅い部分もあるが、言語を使い始められる位置には立ったので、この状態で先に進むことにする。

学んだ感想は、あえてC++でスタートしてよかったと思う。
後に問題を解いて解説記事などを見た時にC++で解説されていることが多く、著者が言いたいことを理解しやすかった。
「解説にC++が多い」とは見聞きしていたが、実際に目の当たりにすると強い実感がある。

こどはざこどはざ

3-1. レッドコーダーが教える、競プロ・AtCoder上達のガイドライン【初級編:競プロを始めよう】

まずは上達のガイドラインが欲しい、ということで、米田 優峻さんの記事が丁寧だったので参考にさせて頂いている。

こちらの初級編の記事の内容は 2023/10/22 に完了。
記事内で紹介されている問題もすべて解き終えた。

元記事はこちら

3-2. レッドコーダーが教える、競プロ・AtCoder上達のガイドライン【中級編:目指せ水色コーダー!】

初級編は終えていざ中級!と思ったが、すぐにC問題以上は自分にはまだ早いことがわかった。

  • 数学的解き方の考察力
  • 基本的なアルゴリズムを使用する能力

これらが足りていないので、自分に向いている問題集を探し求めてみた。

元記事はこちら

AtCoder 競プロ典型90問

簡単なものから慣れていきたいという気持ちから、競プロ典型90問の★2レベルから解き進めてみた。

3-3. ★2レベルの回答と考察

★2レベル(リストの中では最低レベル)でさえ、問題文の通りに実装する問題だけは解けて、数学的考察が必要になると途端に厳しくなるのが現状だった。

022 - Cubic Cake(★2) でさえ解き方を間違えていてぜんぜんだめで、自分の進み方が間違えているような気がしている。

次のステップは

  • 諦めてもっと簡単な問題から解く
  • ギリギリわかるくらいの問題の解説を見て理解する
  • 初心者向けのアルゴリズム本で勉強する

のいずれかを取りたいので、それぞれ少しずつタッチしてみる。