1ヶ月でAt Coder 茶色になったので記録

特筆することはないですが、最後に受けたABCの成績が良く、想定より早くギリギリ1ヶ月以内に茶色になれたので、その記録として記事にすることにしました。

ちょうど400なので本当にボーダー(汗)。

7/16にはじめて8/13に入茶なのでたまたまですが1ヶ月以内に収まりました。

取り組んだこととしては、特に何か工夫したわけではありません。やっていたことを列記してきますと

①最近出版された『問題解決のための「アルゴリズムx数学」が基礎からしっかり身に付く本』を一読。

Pythonで取り組んでいるのでJupyter Labで擬似的に標準入力を行いコードのテストをするためのノートブックを作成。

③以下のQiita記事に挙げられている問題を解きながら、典型的な問題のコードは本番で参照できるようにカンペに記録、苦手な問題は後で解き直せるようにリンクをまとめていきました。

全探索、bit全探索、貪欲法、深さ優先探索幅優先探索ぐらいしか拾えていません。

qiita.com

実際には、最後に参加したABC264のE問題で深さ優先探索の典型問題が出ていましたが、典型問題であるという知識もなく、取り組んでいる最中に時間切れとなったので、学んだことを活かせた実感はあまりありません。

体感としては、巷で典型問題だと言われているものを押さえれば確実に緑にはなれる気がするのですが、実際どうなのでしょうか。

これから2ヶ月で緑になることを目標に取り組みたいと思います。

競プロを始めて1ヶ月弱、その感想

At Coderで競プロをはじめて一ヶ月弱が経った。

取り組み始めた感想としては、率直に言って大学院の研究における作業としてのプログラミングとはかなり別物だということに尽きる。1,2年研究でPythonを使い、ほぼ毎日コードを書き続けていたのだが、アルゴリズムなどへの知識は乏しく、思ったよりも色変には時間がかかりそうだ。似たような事を述べている記事は無限に見かけるが、私もそのうちの一人だった。

C問題でTLEを連発し、根本的な所で計算量オーダーを理解していないと痛感した。原因を探した所、PythonのリストのスライスがO(N)であると知らずにこれを多用していたことがTLEの原因の核だと判明。基礎の基礎を勉強した。

 

現在、一回あたりのパフォーマンスは600~650なので8月中には茶色になれそうである。本業とのシナジーが乏しいので極めることは考えていないが、なるべく早く緑には到達したい。そのために、種々のアルゴリズムを用いた典型問題についてはすぐに解けるよう早急に対策し、ABCのD問題まで安定して完答できることを目指したい。