AtCoderの練習方法

AtCoderで上達するには、以下のことが大切です。 - 問題を多く解くことで、問題に慣れる・解く力を向上させる - 典型的なアルゴリズムを学ぶ ### 問題を多く解くには? 問題を多く解くには、過去問に取り組むのが一番です。問題を効率的に解くには、いくつかの方法があります。 #### AtCoder のコンテストに毎回リアルタイム参加する 最も効率の良い勉強方法は、リアルタイムのコンテストに毎回参加することです。コンテスト終了後には、Twitterなどで多くの問題に関する議論がなされ、Youtubeでは、解説配信がリアルタイムに行われます。問題に取り組み、その後きちんと考察することが、最もアルゴリズム構築能力を高めるための近道となります。 #### AtCoder Virtual Contestを利用する AtCoderのコンテストは週末にしかやっていませんが、他のタイミングにおいても、コンテストに参加したくなるかもしれません。そうした時は、AtCoderの昔のコンテストを開き、AtCoder Virtual Contestに参加してみましょう。 AtCoderの過去のコンテストページを開くと、「バーチャル参加」というボタンが表示されているかと思います。こちらのボタンを押すことで、リアルタイムのコンテストに参加するのと同様の感覚で、過去のコンテストに取り組むことが可能です。 #### AtCoder Problemsを利用する [AtCoder Problems](https://kenkoooo.com/atcoder/)という外部サービスがあります。こちらで、AtCoderの問題のうち、どの問題を解いたか、というのがすぐに分かります。また、各問題の推定難易度が求められており、あなたにあった難易度の問題がどれだかがわかります。 これを利用することで、どのバーチャルコンテストに取り組めば良いかが分かったり、好きなレベルの問題に挑戦することが可能となります。ぜひご活用ください。 ### 典型アルゴリズムを学ぶには? AtCoderでは、頻出となる典型アルゴリズムがいくつか存在します。これらのアルゴリズムを知らないと、解くことが難しい問題が多数出題されています。これらを学ぶ方法を説明していきます。 #### AtCoder Beginner Contest の過去問を解く AtCoder Beginner Contestでは、典型問題をそのまま出題したような問題が、それなりに多く出題されています。過去問を勉強し、解けなかった問題の解説を読むことにより、これらのアルゴリズムを身に着けることが出来ます。 知らないアルゴリズムが出てきたら、その名前を検索することで、次から使えるようにすることが大切です。 #### 典型90問を活用する AtCoderには、[競プロ典型 90 問](https://atcoder.jp/contests/typical90)という問題集を提供しています。こちらは、典型問題を詰め合わせた問題集で、典型問題を効率よく学ぶことが出来ます。 全ての問題に解説がついていますので、ぜひこちらもご確認ください。 こちらの問題集は書籍化予定です。 #### 競技プログラミング関連書籍を購入する 競技プログラミングを学ぶための多くの本が出版されています。 <iframe style="width:120px;height:240px;" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=chokudai-22&language=ja_JP&o=9&p=8&l=as4&m=amazon&f=ifr&ref=as_ss_li_til&asins=483997277X&linkId=10640f9f7564a0b897bce49bdc05aa04"></iframe> <iframe style="width:120px;height:240px;" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=chokudai-22&language=ja_JP&o=9&p=8&l=as4&m=amazon&f=ifr&ref=as_ss_li_til&asins=B00CY9256C&linkId=ed7e487787d95bb420850809439b1779"></iframe> <iframe style="width:120px;height:240px;" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=chokudai-22&language=ja_JP&o=9&p=8&l=as4&m=amazon&f=ifr&ref=as_ss_li_til&asins=4797367172&linkId=55648fbfa8d1dc44aafd415e098053d5"></iframe> <iframe style="width:120px;height:240px;" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=chokudai-22&language=ja_JP&o=9&p=8&l=as4&m=amazon&f=ifr&ref=as_ss_li_til&asins=B08PV83L3N&linkId=9aa042e29c2bf3efbc3f33ad0528ccae"></iframe> <iframe style="width:120px;height:240px;" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=chokudai-22&language=ja_JP&o=9&p=8&l=as4&m=amazon&f=ifr&ref=as_ss_li_til&asins=B00U5MVXZO&linkId=73386892246d748cb5c8c5e3999e5069"></iframe> これらの書籍では、競技プログラミングでよく使用されるアルゴリズムを、効率よく学ぶことが出来ます。 これらに限らず、アルゴリズムイントロダクションや、The Art of Programmingなど、歴史的なアルゴリズム書でも、様々なアルゴリズムを学ぶことが可能です。ぜひご活用ください。