Atcoderが楽しすぎる

12/4/2023, 9:27:08 AMに投稿

カテゴリ : 日常

Atcoderについて

最近はAtcoderという競技プログラミングのプラットフォームにどはまりしています。アルゴリズムやらいろいろ頭の中で組み立てて問題を解決できた時は最高に気持ちいです。毎週土曜日にコンテストが開催されており、解けた問題数やその早さで自分のステータス(レーティング)が上がっていくのでモチベーションがとても上がります。

graph

上記の画像みたいな感じで自分のレーティングをあげていきます。

ちなみにこれがレーティングの分布です。

革命的なアルゴリズム

競技プログラミングではアルゴリズムを組むことがとても重要になってきます。アルゴリズムとは何でしょうか?簡単な例を示します。例えば、問い「0~9の中に当たりの数が一つある。最も少ない手数で特定しろ」があったとします。これは0から9までしらみつぶしに調べていけばいつかは答えにたどり着けます。しかし競プロの世界では処理速度はとても重要になってくるのです。仮に答えが9だとしたら手数は最高で9必要になってくるのです。そこで二分探索法というアルゴリズムを紹介します。簡単に言うと、半分に減らして考えていく手法のことです。答えを8だと仮定します。0~9の中で中間の数字は5です。答えは5より大きいかを確認して、大きければ、さらに範囲を狭めます。5~9の中に答えがあるので5~9の間の数の7より大きいかを確認しています。7より大きい場合は範囲がさらに8~10に絞られました。9より大きいかを確認して、9より小さければ答えは8と確定させることができます。これが二分探索法です。このように様々なアルゴリズムを考えるのは頭をフルに使うので楽しいです。

最後に、皆さんもぜひ競技プログラミングを初めて見てください。とても楽しいです!