お気持ち練習帳

気持ちの整理や数学等の書きたいことを書きます

入緑したよ

今年の2月くらいから、競技プログラミングAtCoderで本格的にやり始めました。そこでのレーティングが一段回上がって、緑色になったのでその報告とそれまでにどんな勉強をしてきたかを書きたいと思います。

f:id:nareO7:20210627135626p:plain

勉強したこと

AtCoder Beginners Selectionsを解く

atcoder.jp

AtCoder始める際にはまずこれをときました。とりあえず10問解こうみたいな問題で、難易度はそんなに難しくありませんでした。競技プログラミング特有の入出力になれるためにも、一度解くのがおすすめです。

AtCoder ProblemsのBoot camp for Beginnersをある程度解く

f:id:nareO7:20210627140123p:plain

AtCoder ProblemsはAtCoderの過去問をまとめているサイトで、今まで自分がどのくらい問題を解いたかを管理してくれます。過去問を解くにあたって、自分で問題を選ぶのがめんどくさかったため、このBoot camp for Beginnersに頼りました。問題が、Easy、Medium、Hardの3種類に分かれておりそれぞれ100問あります。難易度はそれぞれ灰、茶、緑と別れており初心者が自分の難易度にあった問題を選ぶことができます。自分は、上記の図にもある通り、大体220問ほどときました。Easyを解ききったことで、ABCコンテストのABC問題の早解きができるようになってきたと感じます。どの問題が、どのアルゴリズムで解くのかはわからないので、苦手なアルゴリズムの勉強には向いてないかなと思います。

 アルゴリズム実技検定を読む

 この本は、AtCoderが主催?しているアルゴリズム実技検定とよばれる検定試験の参考書です。この本では、動的計画法最小全域木等のアルゴリズムを勉強しました。この本を買った理由としては、サンプルコードがC++ではなく、Pythonで書かれていてPython使いの私としてはとても読みやすかったからです。ただ、アルゴリズムを勉強しても実際の問題で使うにはギャップが有り、練習しないとなあって感じです。

今後の目標

今後は、次の色である水色を目指したいと思っています。今だと、ABCのCまでしか解けておらず、しかも最初からCまでは大体解けてたので成長をうまく実感できてません。水色に上がるには、DやEまで解く必要が出てきてそこまでくれば、競技プログラミングできてきてるなという実感も得られると思うので、そこまで頑張りたいと思います。