筆者が競技プログラミングを始めてみたっていう話。
こんにちは。みなみんです。
筆者は約1週間前ぐらいに競技プログラミング(いわゆる、競プロ)始めました。
そこで、競プロについて記事にしました。
目次
競技プログラミングについて
競技プログラミング(競プロ)とは
この辺の話はググれば沢山サイトが出てきますね。
ざっくりと説明すると、プログラミングを競うイベントってことでしょうか。
プログラミング言語
標準はC++。
他にも、C,Python,C#,Rubyなどのメジャーな言語でも参加が可能です。
ただし、計算時間に注意する必要があります。
筆者が使っている環境
OS
言語
エディタ
- Visual Studio Community
- Atom (macで参加する際にはほとんどこれ。)
コンパイラ
- GCC
- Visual Studio(IDE)用の付属コンパイラ
使用ライブラリ
- stdc++.h (<bits/stdc++.h>)
これは基本的なライブラリをまとめたものです。
競プロを初めてみるにあたって
競プロのサイト
メジャーは「AtCoder」でしょうか。
筆者もここしかまだやっとことがありません。
競プロ入門
まずは、同サイトの入門のページを参考にしてみると良いですね。
エディタ・実行環境
環境は、ブラウザ上で行う方法と、
通常のコンピュータ上(ローカル)で行う方法があります。
- ブラウザー上
- Wandbox
- Wandbox
- ローカル
- Visual Studio
- Community(IDE)
- Code
- Atom
- Visual Studio
お勧めは
の2つです。
競プロコンテストの流れ
競プロには練習問題や過去問題を解く以外にも、コンテストが週に1~2回程度行われています。(無い週もある?)
筆者が2、3回程コンテストに参加してみて、
大体の流れは以下のようになっています。
- コンテスト開始時間までに「参加登録」をする。
- 待つ。
- 開始時刻になったら、「問題」を解く。
- 終了時刻まで競う(問題を解く)
- 終了後に順位やレートが確定する。
という流れでしょうか。
コンテストの種類
筆者が挑戦した事があるコンテストの種類は2種類だけでした。
他にも、
- AtCoder Heuristic Contest (AHC)
- 「正解して終わり」じゃなくて、最初より良い答えを導き出す?
- AtCoder Grand Contest (AGC) ※会社名ではありませんよ
- 上級者向け?
などがあるようです。
参加してみての感想
取り組んだ問題・コンテスト
- AtCoder Programming Guide for beginners (APG4b)
- AtCoder Beginners Selection
- コンテスト 一回目 (ARC 134)
- コンテスト 一回目 (ABC 237)
- コンテスト 二回目 (ABC 238)
感想
入門の練習問題は簡単だった。
でも、コンテスト問題になるとグッと難易度が上がった。
そして
コンテスト初参戦でARC(中級者向けコンテスト)は無謀だったと思いました。。
この記事に誤りがあるかもしれません。その辺はご了承ください。
本記事で紹介されている方法・手法はあくまでも個人的なものです。