【AtCoder】AB2完だけで入茶する、ABC3完だけで入緑する

AtCoderの最初の壁である入茶するためには、何完できる実力が必要なのだろうか？
そんなことを考えた初心者に向けた記事です。

# 結論を先に書きます。

AB2完だけで **入茶** でき	............	るが、毎回10分以内で解く必要がある（今後は難しい）
ABC3完だけで **入緑** でき	............	ない。と思った方が良い


# AB2完で入茶できるのか？

## AB2完 パフォーマンスの推移
以下がABC280からABC331まで10分,20分,30分で2完できていた場合のパフォーマンスの推移である。
これだけ見ると茶色の閾値である400を超えている回があるので、茶色になれる可能性があるように見える。
![2完毎回のパフォーマンス.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/130316/5fb778f8-e6d8-0188-9295-0cf27211798a.png)

## AB2完 レーティングの推移(マイナス補正あり)
毎回全くパフォーマンスだった場合は、レーティング≒パフォーマンス に漸近していくが、
現実はパフォーマンスが上下するため、パフォーマンスの値を元にレーティングを求める必要がある。
（※詳しい計算式は「[AtCoderのレート計算式](https://qiita.com/anqooqie/items/92005e337a0d2569bdbd)」という記事が参考になります。）

パフォーマンスの結果からRatingを計算した結果が以下である。
![2完補正無し.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/130316/24813730-a32c-910b-a47c-453d864c8282.png)

しかし、レーティングには参加回数が少ないほど大きいマイナス補正があるため、
このままではABC280とABC331を比較できない。
（例えば、
 * ABC280は1回目の参加であるため -1200 の補正
 * ABC330は50回目の参加であるため -1.8 の補正

といった補正です。）

## AB2完 レーティングの推移(マイナス補正なし)
以下がマイナス補正を無視した場合のRatingの推移である。
マイナス補正が影響しないくらいコンテストに参加している状態をイメージしてもらうと近い。
![2完補正あり.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/130316/4ce636fb-7218-c388-988e-f4ef08416706.png)
このグラフから、**ABC300以前** はAB2完だけでは茶色到達はできなかったことがわかる。
**ABC310以降** のコンテストであれば、毎回10分以内2完を達成できていたら茶色に到達できていた可能性が高いことがわかる。
しかし、最近のコンテストは10分で解いてもRatingが下がっていることから、今後は10分で2完だけできたとしても茶色にはなれない可能性がある。

## パフォーマンスとDifficulityの関係

先ほど示した各回のパフォーマンスのグラフにDifficulityの情報を加えたグラフが以下である。
X軸の0付近の濃い灰色がA問題のDifficulityで、それより薄い灰色がB問題のDifficulityとなっている。
![2完毎回のパフォーマンスとDiff重ね.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/130316/071b7969-4212-f686-ac60-5642ef3b4808.png)
A問題は飛び抜けて難しい問題はなく、B問題の難しさがパフォーマンスに影響していることが見て取れる。

ABC280〜300あたりと、ABC310〜320あたりを比べてみると、
後者の方が若干灰色の面積が大きく見えるが、そこまで大きな違いではないため、
難易度が極端に違っているわけではないようである。

### 推測

以下はコンテストの参加者を抜粋したものである。

|コンテスト|参加者数|
|----|----|
|ABC280|7,243名|
|ABC281|7,764名|
|ABC282|7,072名|
|......|......|
|ABC310|11,070名|
|ABC311|10,522名|
|ABC312|9,197名|
|......|......|
|ABC329|8,910名|
|ABC330|8,815名|
|ABC331|8,916名|

パフォーマンスが上がっていた時期が競技プログラミング人口が増えた時期と仮定すると

 * 最初のうちはA問題やB問題に苦戦していた初心者が多かったため、
相対的に10分で2完のパフォーマンスが上振れしていた

 * 成長を続けた初心者が順調に強くなってきていて、A問題/B問題が解けるようになったり、
A問題/B問題を解けない初心者が参加しなくなっていったことで、
相対的に10分で2完のパフォーマンスが元の位置に落ち着いてきている

といった要因でAB2完でも茶色になれていた可能性がある。

## 結論
早解きが得意なら2完で茶色になれるかもしれないが、
確実に茶色になりたいなら3完まで頑張れ！

# ABC3完で入緑できるのか？
続いて、3完で入緑できるのかについて数値を元に確認していく。

## AB3完 パフォーマンスの推移

全て30分で解けたとすると、灰色後半〜緑後半と非常にバリエーション豊かな結果となっている。
![3完毎回のパフォーマンス.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/130316/c9094d28-b950-bc74-ac03-0c89f180feb2.png)



## AB2完 レーティングの推移(マイナス補正なし)
今回は最初からマイナス補正を除いた状態のレーティングの推移のグラフを掲載した。
毎回30分で3完できたとしても、緑色にタッチはできているが最近は下がってしまっている。
このことから、3完のみで入緑は難しいことがわかる。
![3完補正無し.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/130316/b46b2079-7fb1-a16c-4568-6dd5831795ba.png)

## パフォーマンスとDifficulityの関係
Difficulityとの関係性を見たい人のためにこちらもグラフ化したものを用意した。
先程のA,Bの難易度に加えて、最も薄い灰色をC問題として積み上げている。
![3完毎回のパフォーマンスとDiff重ね.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/130316/96a61a7c-4844-f027-8d5c-28ee8376d88d.png)

部分的にパフォーマンスと一致していない箇所もあるが、2完のグラフと同様に、概ねパフォーマンスとDifficulityの数値に相関がありそうである。

ちなみに、中央でやたらと高く積み上がっているのはC問題が水Diffとなった伝説の[ABC307 「Ideal Sheet」](https://atcoder.jp/contests/abc307/tasks/abc307_c)と、
右の方にある高い山はC問題で連続緑Diffとなった[ABC319](https://atcoder.jp/contests/abc319/tasks/abc319_c)-[320](https://atcoder.jp/contests/abc320/tasks/abc320_c)である。

## 結論
3完だけで入緑するのは無理と思った方がいい。
早解きができなくても、安定して3完を続けることができれば、入茶は確実。


# 終わりに
たくさんACして、よい競技プログラミングライフを〜