競技プログラミング > AtCoder

AtCoder (アットコーダー)



日本発の競技プログラミングのコンテストサイト


ベータ版(リニューアルに向けての試験運用らしい。リニューアル後はコンテストのURLが変わるらしいので注意)
https://beta.atcoder.jp/

※ツイッターで色々なアナウンスがされることが多いので要確認
(社長や社員などのツイッターのみで発表されることもあったりする)
会社公式: https://twitter.com/atcoder
社長: https://twitter.com/chokudai
副社長: https://twitter.com/akensho
社員: https://twitter.com/snuke_
社員: https://twitter.com/rng_58



概要

日本発の競技プログラミングのコンテストサービス
無料で利用できる。登録にはメールアドレスが必要
登録に最低限必要な設定は、ユーザID、ニックネーム、パスワード、メールアドレス。
国籍や誕生年なども任意に設定できる

主な特徴
  • 開催日時が土日の21時からのことが多い
  • 問題文は日本語で書かれている(最近のコンテストは英語の問題文も同時に用意されていることが多い)
  • 公式による解説が存在している
  • 問題は高いレーティングの人が作って応募したものから採用されるらしい(採用されたら作問の謝礼金も貰えるらしい)


登録方法やチュートリアルのページなど
※よくある質問やルールはコンテストページの下部にリンクがあり、コンテストごとに微妙に違ったりするので要チェック


コンテストへの参加方法
http://practice.contest.atcoder.jp/tutorial




※使用できるプログラミング言語の種類やバージョン情報などは「よくある質問」や「ルール」のページに記載があったりする


公式解説

最近のコンテストのものはYouTubeとPDFで提供されている
昔のコンテストのものはニコ動やSlideShareなどで提供されている
それらのリンク等はAtCoderのTwitterで掲示されるから要チェック https://twitter.com/atcoder


ニコニコチャンネル(AtCoderチャンネル)
http://ch.nicovideo.jp/atcoder

SlideShare (AtCoder(chokudaiさん)のスライド一覧)
https://www.slideshare.net/chokudai/presentations

尚、解説PDFは各コンテストページに存在する


テストケースのデータ
一部のコンテストのテストケースのデータはDropBoxでダウンロードできる
https://www.dropbox.com/sh/arnpe0ef5wds8cv/AAAk_SECQ2Nc6SVGii3rHX6Fa?dl=0
( http://codeforces.com/blog/entry/46389 より )



レーティングシステム

競技プログラマーとしての強さを表すのがレーティング(rating)という数値である
AtCoderの場合はレーティングの値によって色や級段位が対応したりする

コンテストごとにコンテストの順位に基づいたパフォーマンス(そのコンテストのみでの強さ)の値が計算される
そのパフォーマンス値を参考にレーティングの増減の変化量が計算されるらしい
レーティングは0からスタートするので自分の強さを示すレーティング値になるまでは10回以上コンテストに参加しなければならない
(AtCoderに登録して始めたばかりのころは低いレーティング値になってしまうのはしばらくの我慢)

レーティングが変化するコンテストはratedコンテストと呼ばれ
基本的には公式コンテストのABC,ARC,AGCの3つのコンテストが該当する
(たまに企業コンテストでratedなコンテストがあったりする)

とても高いレーティングになると色を選べるらしい

レーティングの更新について
https://atcoder.jp/post/14

レーティングの計算式はDropBoxでPDFで公開されている
https://www.dropbox.com/sh/zpgcogxmmu84rr8/AADcw6o7M9tJFDgtpqEQQ46Ua?dl=0
( http://codeforces.com/blog/entry/46389 より )


コンテストの種類

AtCoder Beginner Contest 通称 ABC
プログラミング初心者から競技プログラミング初心者までを対象としたratedコンテスト
(※ratingが1200未満の人のratngが変化する)
ARCと同時開催のときはどちらに出場するか選ぶ必要がある

過去問で練習するなら難易度設定が新方式になったABC042以降のがよいらしい
過去問のABC001~ABC041は旧AtCoderのコンテストで難易度設定が現在のものと多少違うので注意が必要
AtCoder Regular Contest 通称 ARC
競技プログラミング脱初心者から中級者までを対象としたratedコンテスト
(※ratingが2800未満の人のratngが変化する)
ABCと同時開催なのでどちらに出場するか選ぶ必要がある

過去問で練習するなら難易度設定が新方式になったARC058以降のがよいらしい
過去問のARC001~ARC057は旧AtCoderのコンテストで難易度設定が現在のものと多少違うので注意が必要
AtCoder Grand Contest 通称 AGC
競技プログラミング上級者までを対象としたratedコンテスト
初心者には難しい問題が多い
practice contest
AtCoderに初めて登録した人の体験練習のページ
https://practice.contest.atcoder.jp/
AtCoder Typical Contest 通称 ATC
アルゴリズム練習用の典型問題集、2度しか開催されてない
https://atc001.contest.atcoder.jp/
https://atc002.contest.atcoder.jp/
AtCoder Typical DP Contest 通称 TDPC
動的計画法(DP)の練習用の典型問題集
https://tdpc.contest.atcoder.jp/
chokudai contest / Chokudai SpeedRun Contest
社長のchokudaiさんが社長権限を利用して思いつきで始めるコンテスト
chokudaiさんのツイッターで開催の情報は得られる
https://chokudai001.contest.atcoder.jp/
https://chokudai002.contest.atcoder.jp/
https://chokudai003.contest.atcoder.jp/
https://chokudai_s001.contest.atcoder.jp/
AtCoder Language Test
AtCoderのプログラミング言語のバージョンをアップデートしたときなどに正常動作するか確認するために開かれる
新しい言語の追加なども行われる、chokudaiさんのツイッターで開催の情報は得られる
https://language-test-ver1.contest.atcoder.jp/
https://language-test-arc001.contest.atcoder.jp/
https://language-test-201603.contest.atcoder.jp/
JOIの過去問題の問題集
JOI(日本情報オリンピック)の過去問が掲載されてるらしい
企業主催のプログラミングコンテスト
色んな企業がAtCoderのコンテストシステムを利用してコンテストを開催する
賞金や賞品のあるコンテストが多い
予選と本戦が分かれれてるコンテストもあり、本戦進出者は会場へパソコン持込でやるやらしい
たまにratedなコンテストも存在する
企業コンテストの目的はだいたいが新卒学生の確保なのでヒッキーの我々にはあまり縁がない
例:
他にも Yahoo!JAPANやドワンゴなど色々な企業がコンテスト開催してる

野良コン
学生はAtCoderのコンテストシステムを無料で借りて独自のコンテストを開けるらしい
例:


AtCoder利用に便利な外部サービス

どれも個人がボランティアで提供してるサービス

AtCoder Problems
http://kenkoooo.com/atcoder/
AtCoderで解いた問題数などを確認できる

AtCoder Scores
https://rsk0315.github.io/AtCoderScores/
AtCoder の(重み付き配点に対応した AGC 001 以降の)問題を難易度順に並べる

AtCoder Virtual Contest
https://not-522.appspot.com/
AtCoder の過去問で仮想コンテストを開けるサイト

AtCoder Calculator
https://yazaten.herokuapp.com/accalc
AtCoder偏差値計算機

AtCoder Performances
https://atcoder-performances.herokuapp.com/
Atcoderのパフォーマンスの推移が確認できる

AtCoder Rating Estimator
https://koba-e964.github.io/atcoder-rating-estimator/test-last.html
AtCoderでの現在のレート、これまでの参加回数、目標レーティングを入力すると、それを次回のコンテストで実現するために必要なパフォーマンスを計算


AtCoder利用に便利なツール


ローカルに自動でテストケースダウンロードしてくれるツールや
AtCoderのウェブサイトを加工して色々なデータを表示してくれるブラウザ拡張機能
などが存在するらしい





非公式API

AtCoderの公開情報を取得できる非公式の個人提供のWebAPI
(それぞれ許可をもらってから使ったほうがいいかもしれない)

AtCoder ProblemsのkenkooooさんのAPI (コンテスト情報、問題情報、ランキング情報、ユーザー情報、など)
https://gist.github.com/kenkoooo/4618461adf0f5b4d3e3e

skht777さんのAPI (特定のユーザが投稿したコードを検索できる)
https://qiita.com/skht777/items/7ac7c7115d00152f4e39

yk0nさんのAPI (コンテスト開催日が取得できる。公式コンのみらしい)
https://atcoder-api.yk0n.tk/


AtCoderの歴史?

  • 最初期は@wikiと同じ会社の@freaksによって@coderとして運営されていたらしい?
    (imosさんがアルバイトでジャッジサーバーに関わっていたらしい?)
  • その後、2012年にchokudaiさんらによってAtCoder社として別会社として正式に誕生したらしい
  • 2016年7月半ばくらいにレーティングシステムが正式に導入され(?)、問題の難易度設定に点数ルールがついて、英語問題文対応もした

現在は6人でAtCoderは運営されてるらしい
社長にchokudaiさん、副社長にakenshoさん
社員に問題担当のrng_58さん、snukeさん、etc...(他2名は把握してません)
chokudaiさんrng_58さんsnukeさんの3人ともレッドコーダーで世界と戦える強さ
rng_58さんは世界一になったことも



役立ちそう(?)な情報リンク

※2017年以前の記事は旧AtCoderについての情報になるので最近のAtCoderの事情とはやや違うかもしれないです

AtCoderではじめる競技プログラミング
https://book.mynavi.jp/manatee/series/detail/id=56240

AtCoderでの勉強の仕方(コンテスト編)
http://chokudai.hatenablog.com/entry/2014/08/07/212849

初心者向けのABCの問題傾向とその対策
http://osrehun.hatenadiary.jp/entry/2015/12/13/000716

ARC過去問の難易度レビュー
http://osrehun.hatenadiary.jp/entry/2016/12/22/160813

AtCoder黄色になる方法
http://www.creativ.xyz/atcoder-yellow-596

AtCoderのレーティングの分布について調べてみた
http://sucrose.hatenablog.com/entry/2016/10/03/234723

+ タグ編集
  • タグ:
  • 競技プログラミング
  • 競プロ
  • AtCoder

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2018年01月24日 07:58