An open API service indexing awesome lists of open source software.

https://github.com/solareenlo/atcoder

AtCoder の問題を C++ で解いてみた :)
https://github.com/solareenlo/atcoder

atcoder cpp

Last synced: 4 months ago
JSON representation

AtCoder の問題を C++ で解いてみた :)

Awesome Lists containing this project

README

        

# AtCoder
- AtCoder の問題を練習したリポジトリ.

## 練習具合
- https://kenkoooo.com/atcoder/#/table/solareenlo

## References
### ABC と AGC/ARC との違い from rng_58(問題の製作者)
- ABC について
```bash
ABC は競技というより教材という観点で選んでいて、今後上位を目指していく上でできるようになっておくべきことを入れているつもりです (目的が異なるので、問題の傾向や配点のつけ方にも違いを感じると思います)
```
- https://twitter.com/rng_58/status/1269217415067389952
- AGC/ARC について
```bash
AGC/ARC はコンテスト中の考察力を問う競技を目指しているので、AGC と ARC の C 以降は、いかにオリジナリティがあるかという観点で選んでいます
```
- https://twitter.com/rng_58/status/1269216993367871489

### 2020年6月現在における最難関問題
- [World Tour Finals 2019 Open Contest E - e](https://atcoder.jp/contests/wtf19-open/tasks/wtf19_e)
- [AtCoder最難の伝説問題†World Tour Finals 2019(WTF2019)-E e†にトドメをさす!](https://qiita.com/ageprocpp/items/104c051b2ec2086f5a9b)
- [Kazune Takahashi さんによる解答の方針](http://kazune-lab.net/contest/2019/02/24/wtf19-open/#e---e)

### レートの色と偏差値と位置

| レート範囲 | 色 | 相対的な位置 | 偏差値 | 絶対的な位置 |
|-------------|------|--------------|-------------|------------------------------------------------------------------------------------------------|
| 1 - 399 | 灰色 | 上位 100% | 30.0 ~ 49.9 | 初心者 |
| 400 - 799 | 茶色 | 上位 50% | 50.0 ~ 55.2 | エンジニアとして正直物足りない(派遣なら安心) |
| 800 - 1199 | 緑色 | 上位 30% | 55.3 ~ 60.3 | エンジニアとしてある程度の安心感
データ量や計算量が多くない現場なら十分 |
| 1200 - 1599 | 水色 | 上位 15% | 60.4 ~ 64.7 | 半数以上の IT 企業でアルゴリズム能力がカンスト |
| 1600 - 1999 | 青色 | 上位 7% | 64.8 ~ 68.8 | 8割以上の IT 企業でアルゴリズム能力がカンスト |
| 2000 - 2399 | 黄色 | 上位 3% | 68.9 ~ 73.2 | 9割以上の IT 企業で必要ないレベル
アルゴリズムの研究職・研究開発で重宝されるレベル |
| 2400 - 2799 | 橙色 | 上位 1% | 73.3 ~ 77.4 | 無茶苦茶アルゴリズムが必要なサービス(検索サービス)とか
研究開発とかでないと必要ないレベル |
| 2800 - 3199 | 赤色 | 上位 0.3% | 77.5 ~ 80.9 | 化け物 |
| 3200 - 3599 | 銀色 | 上位 0.1% | 81.0 ~ 84.3 | 化け物 |
| 3600 - 9999 | 金色 | 上位 0.03% | 84.4 ~ 99.9 | 世界に9人 |

- Reference
- [AtCoder(競技プログラミング)の色・ランクと実力評価、問題例(2020/06/22)](http://chokudai.hatenablog.com/entry/2019/02/11/155904)
- [標準正規分布表](https://staff.aist.go.jp/t.ihara/normsdist.html)

### レートの色と偏差値と位置

| レート範囲 | 色 | 偏差値 | 絶対的な位置 |
|-------------|------|-------------|------------------------------------------------------------------------------------------------|
| 1 - 399 | 灰色 | 30.0 ~ 49.9 | 初心者 |
| 400 - 799 | 茶色 | 50.0 ~ 55.2 | エンジニアとして正直物足りない(派遣なら安心) |
| 800 - 1199 | 緑色 | 55.3 ~ 60.3 | エンジニアとしてある程度の安心感
データ量や計算量が多くない現場なら十分 |
| 1200 - 1599 | 水色 | 60.4 ~ 64.7 | 半数以上の IT 企業でアルゴリズム能力がカンスト |
| 1600 - 1999 | 青色 | 64.8 ~ 68.8 | 8割以上の IT 企業でアルゴリズム能力がカンスト |
| 2000 - 2399 | 黄色 | 68.9 ~ 73.2 | 9割以上の IT 企業で必要ないレベル
アルゴリズムの研究職・研究開発で重宝されるレベル |
| 2400 - 2799 | 橙色 | 73.3 ~ 77.4 | 無茶苦茶アルゴリズムが必要なサービス(検索サービス)とか
研究開発とかでないと必要ないレベル |
| 2800 - 3199 | 赤色 | 77.5 ~ 80.9 | 化け物 |
| 3200 - 3599 | 銀色 | 81.0 ~ 84.3 | 化け物 |
| 3600 - 9999 | 金色 | 84.4 ~ 99.9 | 世界に9人 |

- Reference
- [AtCoder(競技プログラミング)の色・ランクと実力評価、問題例(2020/06/22)](http://chokudai.hatenablog.com/entry/2019/02/11/155904)
- [標準正規分布表](https://staff.aist.go.jp/t.ihara/normsdist.html)

### レーティングの中央値

| 参加回数 | レーティングの中央値 |
|-----------|----------------------|
| 1回 | 15 |
| 2回 | 62 |
| 5回 | 241 |
| 10回 | 521 |
| 20回 | 884 |
| 100回以上 | 1657 |

- ※ 2020/2/17 時点でのデータ
- Reference: [1-6-5. コンテストに出まくる!](https://qiita.com/e869120/items/f1c6f98364d1443148b3#1-6-5-%E3%82%B3%E3%83%B3%E3%83%86%E3%82%B9%E3%83%88%E3%81%AB%E5%87%BA%E3%81%BE%E3%81%8F%E3%82%8B)

### 便利ツール
#### AtCoder Rating Simulator
- [AtCoder Rating Simulator](https://atcoderratingsimulator.herokuapp.com/)

#### 過去問に対して自動で push したり,入出力例を自動で試してくれたりするツール
- [kyuridenamida/atcoder-tools](https://github.com/kyuridenamida/atcoder-tools)

### ライブラリ
#### 競プロ C++ 用のライブラリ
- [kazunetakahashi/library](https://github.com/kazunetakahashi/library)
- [atcoder-live/library](https://github.com/atcoder-live/library)
- [ei1333/library](https://github.com/ei1333/library)

#### 余りを簡単に求められる構造体
- [「1000000007 で割ったあまり」の求め方を総特集! 〜 逆元から離散対数まで 〜](https://qiita.com/drken/items/3b4fdf0a78e7a138cd9a)
- [modint 構造体を使ってみませんか? \(C++\)](https://noshi91.hatenablog.com/entry/2019/03/31/174006)

### 解き方
- [競技プログラミングで解法を思いつくための典型的な考え方](https://algo-logic.info/how-to-think-cp/)

### 過去問は何分で解説を見れば良いか?

| 難易度 | 100点問題 | 200点問題 | 300点問題 | 400点問題 | 500点問題 | 600点問題 | 700点問題 | 800点問題 | 900点問題 |
|--------|-----------|-----------|-----------|-----------|-----------|-----------|-----------|-----------|-----------|
| 茶色 | 5分 | 7分 | 30分 | 45分 | - | - | - | - | - |
| 緑色 | 5分 | 5分 | 20分 | 35分 | 50分 | 120分 | - | - | - |
| 水色 | 3 分 | 4 分 | 10 分 | 25 分 | 45 分 | 90 分 | 120 分 | - | - |
| 青色 | 2 分 | 3 分 | 6 分 | 20 分 | 40 分 | 80 分 | 100 分 | 120 分 | - |
| 黄色 | 1 分 | 2 分 | 4 分 | 15 分 | 35 分 | 60 分 | 80 分 | 100 分 | 120 分 |
| 橙色 | 15 秒 | 1 分 | 3 分 | 10 分 | 30 分 | 45 分 | 60 分 | 80 分 | 110 分 |

### 進め方
- [AtCoder 版!蟻本 (発展的トピック編)](https://qiita.com/drken/items/0de3d205690d92307b7c)
- [AtCoder 版!蟻本 (上級編)](https://qiita.com/drken/items/9b311d553aa434bb26e4)
- [AtCoder 版!蟻本 (中級編)](https://qiita.com/drken/items/2f56925972c1d34e05d8)
- [AtCoder 版!蟻本 (初級編)](https://qiita.com/drken/items/e77685614f3c6bf86f44)
- [レッドコーダーが教える、競プロ・AtCoder上達のガイドライン【上級編:目指せレッドコーダー!】](https://qiita.com/e869120/items/acba3dd8649d913102b5)
- [レッドコーダーが教える、競プロ・AtCoder上達のガイドライン【中級編:目指せ水色コーダー!】](https://qiita.com/e869120/items/eb50fdaece12be418faa)
- [レッドコーダーが教える、競プロ・AtCoder上達のガイドライン【初級編:競プロを始めよう】](https://qiita.com/e869120/items/f1c6f98364d1443148b3)

### 競プロ独特の書き方
- [競技プログラミングにおけるコードの書き方とその利便性](https://www.slideshare.net/Roadagain/ss-71620380)
- [kurokoji さんの template.cpp の説明](https://github.com/kurokoji/.cpp-Template/wiki)

### 高速化テクニック
- [cin, cout は遅いのでそれぞれ違う書き方をする](https://qiita.com/blackcurrant/items/312ea2471900132fbd6a)
- [競プロで使える高速化テクニック](https://xuzijian629.hatenablog.com/entry/2019/03/31/130708)

###
- [gcc/libstdc++-v3/include/precompiled/stdc++.h](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/precompiled/stdc%2B%2B.h)

### 2020/05/31 の社長のぶっちゃけトークまとめ
- 企業コンテストだから問題が違うということはない.変わるレートの範囲が違うだけ.
- 実技検定は3回分のコンテストを一度に行って,一気にレートを付けようとする仕組み.
- でも,コンテストのレーティングがとても良い精度になっている.
- 今日で,php で作られていたページが全てなくなった.
- 今は go でページを作っている.
- タイピングで対応言語が出てくる.
- 今日明日で過去問の対応言語も現在のものと一緒になる.
- 競プロユーザー的には実装問題はディリカルティが高くなり,探索・数学的な問題のディフィカルティは低くなる.
- C, D の難易度が逆転する時がある.ゲーム性を持たせるため.点数からメタコンテストにならないようにするため.
- ARC, AGC は世界最高のクオリティで作ってる.
- ABC は初心者用にクオリティよりも,回数を増やして,教育的な意味を増やしてる.
- AtCoder 的には ARC, AGC が本気コンテスト.