トップ画像
初心者にこそ勧めたい競プロの世界

執筆者: 終に鮭

最終更新: 2021/03/06

2021年初心者記事:2位

こんにちは。日々競技プログラミングの精進を重ねている、終に鮭といいます。
皆さん、プログラミングしてますか?あるいは興味がありますか?
――結構。プログラミングを始めたい/上達したいという方々におすすめのコンテンツがあります。それが 競技プログラミング です。

競技プログラミングとは

競技プログラミングは、オンラインゲームです! 1 2 3 4 5
これは割とマジなんですけど、もう少し真面目な説明をします。課題が与えられ、与えられた条件を満たすプログラムを書き、ソースコードをジャッジする、というものです。

解答を出すまでの速さを競ったり、多項式時間で解けない問題に対する近似精度を競ったり、コードの短さを競ったりします。AtCoderでは主に解答を出すまでの速さを競います(内々でコードゴルフしてる人もいたりするんですが、ここでは置いておく)。

で、オンラインゲーム要素なんですが、AtCoderではコンテストに出るとレーティングが付きます。Twitterで「青色になりました!」等と言いながら謎のグラフを上げてるアレです。 6 みんなアレをモチベに(ほんまか?)コンテストに参加してるんですね。なんならAtCoder Jobsで就活、インターン、バイトを有利に進められたりします。あくまで娯楽なんですけど。

娯楽?

プログラミングは娯楽ですよ。何言ってるんですか。……まあすべての人がそう思うわけではないんでしょうが。プログラミングを道具にパズルを解いてるみたいな感じで面白いんですけどね。

競プロの強み

娯楽に対してメリットを語りたくはないんですが、一応。

  • アルゴリズムが身につく
  • 実装前から計算量がわかる


何よりもこれらですね。競プロをすると一般人(情報系学生等を除く)が一生学ぶことのないであろうアルゴリズムやデータ構造を学ぶ機会が得られます。いいですね。例えばDijkstra法とか、Segment Treeとか。大抵の人は普通にプログラミングしてても多分使わないでしょうし。

そして競プロにおいては計算量をオーダーで測ります。誤解されがちなのですが、(ほとんどの言語では)どこまでもチューニングして速くするわけではなく、定数倍の差は無視することがほとんどです。Pythonなんかはもとが遅すぎるので別ですが。

とにかく、プログラミングの抽象的な部分を深く学ぶことができます。みんなもアルゴリズムを勉強して、競プロをやろうね!

----

1 chokudai(高橋 直大)🍆さんはTwitterを使っています 「ちなみに今はインターネットに普通に繋がるのでAtCoderってオンラインゲームがおすすめです。」 / Twitter
https://twitter.com/chokudai/status/1244638270736097284

2 こたつがめさんはTwitterを使っています 「steamサマーセールってほんと!?僕もAtCoderっていうオンラインゲーム毎日10時間やってます」 / Twitter
https://twitter.com/kotatsugame_t/status/1143844015176990721

3 prd🦍さんはTwitterを使っています 「少し宣伝。 我々はAtCoderというオンラインゲームを普段やっています。完全無料! ジャンルは競技プログラミングといって、いかに多くの問題にいかに早く正解できるかを競うゲームです。 プログラミングに興味がある人、力を試したい人、楽しく学びたい人、全てにおすすめです https://t.co/o0wpAOJKnR」 / Twitter
https://twitter.com/prd_xxx/status/1044190250375888897

4 keymoonさんはTwitterを使っています 「基本無料オンラインゲームであるところのAtCoder」 / Twitter
https://twitter.com/kymn_/status/1016531797792813056

5 kumakumaaaaaさんはTwitterを使っています 「趣味は競プロって言うと引かれることが多いので、競プロをバトルロイヤル形式のオンラインゲームと呼んでいる」 / Twitter
https://twitter.com/kumakumaaaaa__/status/1338730125697814528

6 .終に鮭さんはTwitterを使っています 「入水しました!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! https://t.co/HnHiZ2dkJg」 / Twitter
https://twitter.com/AAAR_Salmon/status/1363125630049525763

取得に失敗しました

2020年度 入部

Twitter GitHub YouTube