Minaminの日記

趣味を記事にしてる。

筆者が競技プログラミングを始めてみたっていう話。

こんにちは。みなみんです。

筆者は約1週間前ぐらいに競技プログラミング(いわゆる、競プロ)始めました。

 

そこで、競プロについて記事にしました。

f:id:Minamin1234:20220208001810p:plain

目次

 

競技プログラミングについて

競技プログラミング(競プロ)とは

この辺の話はググれば沢山サイトが出てきますね。

ざっくりと説明すると、プログラミングを競うイベントってことでしょうか。

 

プログラミング言語

標準はC++

他にも、C,Python,C#,Rubyなどのメジャーな言語でも参加が可能です。

ただし、計算時間に注意する必要があります。

また、チュートリアルC++のみです。

 

筆者が使っている環境

OS
言語
  • C++
  • C# (時々、挑戦程度で)

エディタ

 

コンパイラ

 

使用ライブラリ
  • stdc++.h (<bits/stdc++.h>)

これは基本的なライブラリをまとめたものです。

 

競プロを初めてみるにあたって

競プロのサイト

メジャーは「AtCoder」でしょうか。

atcoder.jp

筆者もここしかまだやっとことがありません。

 

競プロ入門

まずは、同サイトの入門のページを参考にしてみると良いですね。

atcoder.jp

 

 

エディタ・実行環境

環境は、ブラウザ上で行う方法と、

通常のコンピュータ上(ローカル)で行う方法があります。

お勧めは

の2つです。

 

競プロコンテストの流れ

競プロには練習問題や過去問題を解く以外にも、コンテストが週に1~2回程度行われています。(無い週もある?)

筆者が2、3回程コンテストに参加してみて、
大体の流れは以下のようになっています。

  1. コンテスト開始時間までに「参加登録」をする。
  2. 待つ。
  3. 開始時刻になったら、「問題」を解く。
  4. 終了時刻まで競う(問題を解く)
  5. 終了後に順位やレートが確定する。

という流れでしょうか。

 

コンテストの種類

筆者が挑戦した事があるコンテストの種類は2種類だけでした。

  • AtCoder Beginner Contest (ABC)
    • 初心者向けコンテスト
  • AtCoder Regular Contest (ARC)
    • 中級者向けコンテスト

他にも、

  • AtCoder Heuristic Contest (AHC)
    • 「正解して終わり」じゃなくて、最初より良い答えを導き出す?
  • AtCoder Grand Contest (AGC) ※会社名ではありませんよ
    • 上級者向け?

などがあるようです。

 

参加してみての感想

取り組んだ問題・コンテスト
  1. AtCoder Programming Guide for beginners (APG4b)
  2. AtCoder Beginners Selection
  3. コンテスト 一回目 (ARC 134)
  4. コンテスト 一回目 (ABC 237)
  5. コンテスト 二回目 (ABC 238)

 

感想

入門の練習問題は簡単だった。

でも、コンテスト問題になるとグッと難易度が上がった。

そして
コンテスト初参戦でARC(中級者向けコンテスト)は無謀だったと思いました。。

 

 

 

この記事に誤りがあるかもしれません。その辺はご了承ください。

本記事で紹介されている方法・手法はあくまでも個人的なものです。