2019年3月16日 | ブログ記事

競技プログラミングを始めよう【新歓ブログリレー2019 8日目】

eiya

この記事は新歓ブログリレー2019 8日目の記事です。たぶん。


18Bのeiyaです。競技プログラミング(競プロ)やCTFをしています。昔はゲーム制作もしていたんですが忙殺されてここ3年くらいまともに作っていません。悲しいです。
競技プログラミングは出来る側の人間のはずなんですが僕よりも強い人類が東工大には沢山います。楽しいです。

対象読者

この記事は以下の人を対象にしています。

競技プログラミングとは

ある課題を解くプログラムを作成するというゲームです。
例え次のような問題があります。
https://atcoder.jp/contests/abs/tasks/abc086_a
https://atcoder.jp/contests/abs/tasks/abc087_b
AtCoderというサイトでは、プログラムを作成する速さを競うコンテストが毎週末に行われています。

競技プログラミングで身につくこと/つかないこと

競技プログラミングを学ぶと以下の能力を身につけることができます。(主観)

ただし、以下の能力は競技プログラミングでは身につけることが出来ないので、これらの能力を得たい場合は追加の勉強が必要になります。

なぜ競技プログラミングなのか

プログラミングを勉強しても、すぐにはゲームのようなグラフィックがしっかりとした完成品を作るのは難しいです。一方競技プログラミングは簡単な問題から専門にしている人でもなかなか解けない難しい問題まであるので、勉強すればするほど解ける問題が増え、成長を実感することが出来ます。
また、難しい問題は競技プログラミング向けの知識が必要になってきますが、簡単な問題に必要な知識はゲームプログラミング等の他のプログラミングでも使える基本的な知識であるため、最終的な目標が競技プログラミングでなくてもプログラミングの入門として役立ちます。

さあ始めよう

先ほど問題例として出したAtCoderというサイトは、2019年3月現在日本で一番大きな競技プログラミングの会社です。いまから始めるならばAtCoderで始めると良いと思います。
https://atcoder.jp/
___-1

ページを開いたら、右上の「新規登録」からアカウントを作り、practiceでコードの提出方法を確認しましょう。

普段の勉強は、プログラミングの初歩から学ぶ場合はAtCoder Programming Guide for beginnersで勉強すると良いと思います。
競技プログラミングの初歩から学ぶ場合はAtCoder Beginners Selectionがおすすめです。

また、AtCoderで毎週末に開かれるコンテストにも積極的に参加し、自分の実力を示すレートを挙げて、楽しみましょう。
___

twitterも始めると良いと思います。コンテストが終わった後などは問題に関する感想をつぶやく人も多いので、そういった人をたくさんフォローすると色々な視点から問題を見ることが出来ます。

twitter上ではAtCoderのレートがやたらと高い人がいますが、実際はこんな感じです。twitterで見るほど上の人が多いわけでは無いので安心してください。
___-2


明日は syak さんの記事です。お楽しみに。

この記事を書いた人
eiya

プログラミングをやっています。 メイン言語はC++14 競プロ/ゲーム制作/CTF

この記事をシェア

このエントリーをはてなブックマークに追加

関連する記事

2019年3月18日
競プロの最善手
topaz
2019年3月14日
永続データ構造【新歓ブログリレー2019 6日目】
nari
2018年12月12日
多重スリーブの世界と,各種進捗報告。
Silviase
2019年3月23日
絵ができるまで [新歓ブログリレー2019 15日目]
sirono-ra
2019年3月21日
3月後半からできること【新歓ブログリレー2019 13日目】
RyoTei
2019年3月20日
大富豪やろうぜ。【新歓ブログリレー2019 12日目】
iF

活動の紹介

カテゴリ

タグ