競技プログラミング
競技プログラミングとは、与えられた時間内に、アルゴリズム力や問題解決能力を競うプログラミングのコンテストです。
ここ最近、非常に人気がある分野であり、競技プログラミングを行うことで、コーディング力やアルゴリズム力を高めることができます。
また、情報系の大学院入試は、大体がアルゴリズムのため、競技プログラミングをやっていると入試に非常に有利になります。
レーティング
競技プログラミングのサイトには、レーティングという概念が存在します。
アルゴリズム力が高くなってくると、レーティングもぐんぐん伸びていきます。
レーティングを高めるために頑張る!っていうのも競技プログラミングの人気の一つだと考えています。
秋田大学では?
以前秋田大学には、非公式サークル秋田大学ICPC対策室が存在していましたが、現在は人数が足りなくなってしまったのか、自然消滅してしまっています。
そこで、現在は秋田大学TNPの一部の部員が競技プログラミングを行い、秋田大学での競技プログラミングの復興を目指しています。
どんなサイトが有るの?
AtCoder
日本の競技プログラミングコンテストのサイトでは、一番メジャーなサイトです。
特徴として
- 実装が軽め。
- アルゴリズム重視。
- 解説放送が基本的にある。
AtCoderの社長のchokudaiさんは、競技プログラミングの世界ランカーであり日本トップレベルの才能を持っています。
コンテストは毎週土曜日か日曜日の午後9:00から二時間の期間で開催されることが多いです。
TechFUL
最近できた日本の競技プログラミングのサイトです。
特徴として
- 初心者向け。
- アルゴリズムの基本的な部分を体系的に学習できる。
コンテストは月に一回20日から開催されます。
yukicoder
日本のゆるふわ系競技プログラミングサイト。
特徴として
- ゆるふわ。
- 団体ではなく、個人が運営している。
- 問題制作は誰でもできるのが特徴。
コンテストは毎週金曜日に開催されています。
TopCoder
海外の競技プログラミングのサイトで、かなり古い歴史があります。
特徴として
- 問題文は英語。
- アルゴリズムというよりは数学力重視。
- 実装が比較的重め。
- 長時間コンテストが多い。(一週間から二週間など)
TopCoderは数学の強い人達がやっている印象があります。
Codeforces
ロシアの競技プログラミングのサイトで、英語もあります。
今一番リアルタイムユーザーが多いサイトです。
特徴として
- コンテストがDiv1, 2, 3に分けられている。(1の方が難しい)
- 実装は少し重め。
- Hackタイムがある。(他人のソースコードにテストケースを投げることができる。相手を失敗させれば点がもらえる。)
Codeforcesは非常に多くコンテストを行っており、復習がかなり大変です。
CSA
最近できた海外の競技プログラミングサイトです。
特徴として
- コンテストがDiv1, 2に分けられている。
- 典型的問題が多い。
CSAはコンテストをあまり開催しませんが良問が多いらしいです。