AtCoder Junior League 2023 参加記 by ZOI2

ZOI2と申します。[AtCoder Junior League (AJL) 2023](https://atcoder.jp/contests/ajl2023 "AJL2023")に参加しました。参加記です。
***
# 自己紹介
高3の緑コーダー(2023/12/25時点)。AtCoder名は[Zoi2](https://atcoder.jp/users/Zoi2 "Zoi2 - AtCoder")。双子の弟(兄は[ZOIZOI](https://atcoder.jp/users/ZOIZOI "ZOIZOI - AtCoder"))。
考察に強く、実装に弱い。
# 動機
![スクリーンショット 2023-12-25 192120.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3513813/60f706e4-63ba-861c-06bb-ff725c498e61.png "僕のX(Twitter)への投稿")
# 本編
## 前夜
兄と一緒に参加を決断。当時の兄のRatingは<font color="#008000">914</font>、僕のRatingは<font color="#804000">476</font>。正直茶色下位では入賞なんて夢のまた夢なので、20位狙いは兄に任せて、僕は学校ランキングでちょこっと仕事をしつつのんびりやろうと思っていた。
※以降の、ABC〇〇〇とかの後ろにある()の中の数字は、順にperf、順位、順位変動です。(順位変動が順位のimosになっていないのは、参加しなかったコンテストを書いていないからです。)
※ABC311までは[入緑記事](https://qiita.com/ZOI2/items/6dd677775270eb65aae9 "【色変記事】AtCoderで入緑した話 by ZOI2")にもうちょっと詳しく書いてあるので、気になったら見てください。
## 5月〜初陣〜
### ABC301(<font color="#008000">861</font>,22位)
powの有効桁数に殺されたが上出来。初回だけとはいえ順位で兄を上回った。
### ABC302(<font color="#008000">866</font>,27位(↓4))
VSCodeがバグって提出欄に直書きするなど。書くことない。
### ABC303(<font color="#008000">1010</font>,25位(↑5))
Eの解説を見て横転。3連続緑perfと安定感抜群。
### 5月総括
まだのんびり遊んでいた。何も始まっていない。
## 6月〜茶一争い〜
### ABC305(<font color="#008000">941</font>,29位(±0))
B、入力pとqだけって何…?→配列固定!?!?となっていた。
### ABC307(<font color="#00C0C0">1304</font>,26位(↑4))
[実装難死ね。](https://atcoder.jp/contests/abc307/tasks/abc307_c "C - Ideal Sheet")Eは数学問なので得意。入緑リーチ。
### 6月総括
Skyoさんと茶色トップを争う。手数に火力で対抗。
## 7月〜入緑〜
### ABC308(<font color="#008000">867</font>,25位(↑1))
D、DFSが書けないのでコピペで持ってきた。そのぐらい書けよ。
### ABC310(<font color="#00C0C0">1499</font>,24位(↑4))
EでDPを思いついて入緑。これにより24位に浮上し、(ワンチャン20位あるか…?)と思い始めた。ozraruさんが入水。
### ABC311(<font color="#00C0C0">1339</font>,25位(↓1))
Eが終了ギリギリに通ってうれしい。blackyuki様の降臨により順位は下がった。
### ABC312(<font color="#00C0C0">1289</font>,25位(±0))
Cの早解きに成功。この辺から定期的にクソコードを生成しはじめる。
### AGC063(<font color="#008000">927</font>,24位(↑1))
AGCが得意ではなかった頃のAGC。解くのが遅すぎる。
### 7月総括
入緑。
## 8月〜20位争いへ〜
### ABC313(<font color="#008000">1194</font>,22位(↑2))
日本最強プログラマー学生選手権の予選ということで、ABCにあるまじき鬼配点になっていた。全人類3完。
### ABC314(<font color="#008000">890</font>,23位(↓1))
DとEの間に巨大な崖があり、これまた全人類4完。常軌を逸したコーディング速度()でRatingを下げた。
### AGC064(<font color="#0000FF">1603</font>,22位(↑1))
**Zoi2AGC最強説の幕開け。** Aを20分で通し、初の青perfを獲得。この時から20位を明確に意識し始めた。
### ABC315(<font color="#804000">765</font>,22位(±0))
AGC064の反動。Dに殺された。なんでお前がDにいるんだ。
### ABC317(<font color="#008000">969</font>,23位(↓1))
A→B→D→E→Cの順に解き、Eが通らず4完。Dに1時間かけてるのが致命的。
### 8月総括
AGCでの勝利で20位争いにエントリー。
## 9月〜泡沫の栄光〜
### ABC318(<font color="#008000">1139</font>,21位(↑2))
D>Eと判断してEを早めに通し、Dに戻って考えたが、結局解けなかった。bitDPむずい。
### (WTF22-day1(<font color="#0000FF">1727</font>)) ※AJL非対象コンテスト
**AtCoderさん、これをAJL対象にしてください。** 金曜日の昼間に開催された世界大会のOpenContest。授業中に脳内で考察し、休み時間にスマホで実装してAをAC。皆様、授業は真面目に聞きましょう。
### (WTF22-day2(<font color="#C0C000">2151</font>)) ※0完のためAJL非対象
こっちは土曜日なのでAJL対象コンテスト…なのだが、昼間という時間帯とその圧倒的な難易度のため、なんと**AJL参加者で1問以上解いた人は誰一人いなかった。**
### ABC319(<font color="#00C0C0">1373</font>,21位(±0))
[実装難死ね。](https://atcoder.jp/contests/abc319/tasks/abc319_c "C - False Hope")まあEが解けたのでOK。TwoSquirrelsさんが入水。
### ABC320(<font color="#804000">724</font>,21位(±0))
こんな感じで定期的に爆死します。なんでCが解けないんですか???(10000のみのvectorで10000をupper_bound) Modifierさんが迫ってきているのに気づいて怖かった。
### ARC165(<font color="#0000FF">1611</font>,21位(±0))
B、嘘解法。ごめんなさい><
### ABC322(<font color="#00C0C0">1248</font>,20位(↑1))
[実装難死ね。](https://atcoder.jp/contests/abc322/tasks/abc322_d "D - Polyomino")DをスルーしてEを解くのは実装難回の典型です。この回でついに20位浮上。いえ～い。
### 9月総括
初めて20位を奪い、入賞がはっきり見えた。X(Twitter)の引退に失敗し、TwoSquirrelsさんやsorachanduさんなどと交流し始めた。
## 10月〜猛追する者たち〜
### ABC323(<font color="#00C0C0">1281</font>,21位(↓1))
C、100人目はボーナス気にしないといけないと勘違いして盛大に時間を溶かした。短い栄華だったなあ(21位転落)。
### ARC166(<font color="#008000">1137</font>,21位(±0))
Bを筋肉で殴った。Aがわからず1完どまり。TwoSquirrelsさんが早め2完で青perfを取り、得意寄りなはずのARCでかなり差をつけられたため厳しい状況に。niov0256さんが入水。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3513813/bcb3e5f0-3894-9868-c85b-da93b3b089f4.png "Bのコードの一部")
### ABC324(<font color="#008000">1184</font>,21位(±0))
なんでCが解けないんですか???(2回目)ちょっとややこしいと途端にできなくなるのやばい。
### ARC167(<font color="#00C0C0">1406</font>,21位(±0))
Bをboostの多倍長整数でごり押し。悪くないけどあと30～40分ぐらいは早く解けたはず。gnu_0624さんが覚醒して猛追してきた。
### ABC325(<font color="#008000">1112</font>,21位(±0))
diffを見てDを飛ばしたまではいいが、Eでint型の最大値で初期化するなど迷走し、激遅ABCE4完。sorachanduさんが入水。
### ABC326(<font color="#008000">1165</font>,22位(↓1))
[実装難死ね。](https://atcoder.jp/contests/abc326/tasks/abc326_d "D - ABC Puzzle")ABCD4完やABCE4完では不満だがABDE4完ならOKだな～という判断のもとCを飛ばし、Dでjを1か所iにして無事ABE3完。あほ。niov0256さんも覚醒して猛追してきた。
### 10月総括
水色のライバルが一気に増えた。上の色の人が迫ってくるのに恐怖。
## 11月〜飛躍を求めて〜
### ABC327(<font color="#008000">1162</font>,22位(±0))
E、絶対あと1色ぐらいdiff高いでしょ。Dは二部グラフ判定を調べたら頂点2倍のUFが出てきた。絶対にBFS/DFSを書かないという強い信念(謎)。
### ABC328(<font color="#804000">623</font>,22位(±0))
こんな感じで定期的に爆死します。stackを思いつけない緑coder。
### ABC329(<font color="#008000">878</font>,22位(±0))
崖回。F、終了後にマージテクを知って驚愕。1か月以上水perfが無く、非常に調子が悪い。
### ARC168(<font color="#0000FF">1602</font>,21位(↑1))
鉄則本で学んだNimとGrundy数を駆使し、考察力を発揮。なんとか20位戦線を維持。
### ABC330(<font color="#00C0C0">1403</font>,21位(±0))
Bの問題文が読めずWAしたが、5完でRating1164、入水リーチ。ABCはperf1400程度で「いい感じ」と思ってしまい、よくない。Modifierさんが入水。
### 11月総括
ABCでは勝てないと悟り、ARC/AGCの開催をずっと待っていた。
## 12月〜最後の死闘〜
### ABC331(<font color="#808080">373</font>,21位(±0))
**まさかの2完。** Aやる→AC→Bやる→AC→Cやる→ジャッジ確認せずDへ→D沼る→3完に絶望しながら順位表を見る→
A 100
B 200
C　**0**
よい子のみんなはACを確認してから次の問題をやろう!
### ARC169(<font color="#00C0C0">1368</font>,22位(↓1))
Bを数式にしようとしすぎてdpを思いつけなかった。勝てなかったので、20位のためには最後のAGCで2000近いperfを取らなければならず、この時点で20位は半分諦めていた。
### ABC332(<font color="#008000">1020</font>,23位(↓1))
[実装難死ね。](https://atcoder.jp/contests/abc332/tasks/abc332_d "D - Swapping Puzzle")後ろが難しいときに実装難が来るとこうなる。
### ABC333(<font color="#00C0C0">1216</font>,23位(±0))
Bで2WA。F、modintの割り算はO(log998)だから間に合わないよな～と思っていたら、終了後に兄に「そんなん軽いから実質O(1)」と言われ、半信半疑で書いて出したら通った。niov0256さんとgnu_0624さんは6完しており、入賞は絶望的な状況に。
### AGC065(<font color="#C0C000">2018</font>,20位(↑3))
**希望の光。** なんとAを30分ぐらい(+2WA)で討伐。最後のAGCで大覚醒し、順位を一気に3つも上げて激熱の20位復帰。niov0256さんはとんでもないperfで遥か彼方に消えていったので、1回も勝てると思ったことがなかったozraruさん、一撃一撃が強烈なgnu_0624さん、中盤以降ずっと目標のようになっていたTwoSquirrelsさんなどをしのぎ切れば勝利。まさか最後にこんなに熱い展開が待っているとは。
### ABC334(<font color="#008000">1197</font>)
E、UFを使うという方針は合っていたが、実装方法がまずく通らず。僕のAJLスコアは上がらなかったので、あとはライバルのみんなの結果を祈るのみ。

結果は…

.

.

.

.

.

.

.

.

.

.

**gnu_0624 perf<font color="#0000FF">1719</font> 20位(↑2)
Zoi2 21位(↓1)**

**負けました!!!!!!!**

### 12月総括
土壇場で覚醒して希望が見えたが、残念ながら入賞ならず。
# 完走した感想
**とにかく最高に楽しかったです!!**
入賞された皆様おめでとうございます。入賞できなかった悔しさはあるけど、元々入賞は無理だと思っていたし、ライバルのみんなが次々に入水する中で僕がここまで戦えたというのは大きな自信になった。AGCとかで強さも見せられたし満足。
何よりも、みんなとX(Twitter)で交流しながら本気で競い合う濃い8か月を送れて本当によかった。
### 雑記
・僕が高perfを取ったコンテストは大体Unrated参加。Rated参加のコンテストに絞ると14.9万点から11.2万点ぐらいまで落ちる。
・WTF22-day1がAJL対象コンテストだったら僕は19位だった。
・AJL高3部門における本当の被害者は僕ではなく、12月中旬までずっと19位を維持してたのに最後に22位まで引きずり下ろされたozraruさん。
・そこの赤coder2人、サボるな。
・他学年を見ると、僅差で入賞を逃した同校erが多い。
・**[実](https://atcoder.jp/contests/abc307/tasks/abc307_c "C - Ideal Sheet")[装](https://atcoder.jp/contests/abc319/tasks/abc319_c "C - False Hope")[難](https://atcoder.jp/contests/abc322/tasks/abc322_d "D - Polyomino")[死](https://atcoder.jp/contests/abc326/tasks/abc326_d "D - ABC Puzzle")[ね](https://atcoder.jp/contests/abc332/tasks/abc332_d "D - Swapping Puzzle")。**
### ABCと非ABCの戦績比較
#### ABC
<font color="#008000">1197</font> <font color="#00C0C0">1216</font> <font color="#008000">1020</font> <font color="#808080">373</font> <font color="#00C0C0">1403</font> <font color="#008000">878</font> <font color="#804000">623</font> <font color="#008000">1162</font> <font color="#008000">1165</font> <font color="#008000">1112</font> …
#### 非ABC(WTF22-day2は含まない)
<font color="#C0C000">2018</font> <font color="#00C0C0">1368</font> <font color="#0000FF">1602</font> <font color="#00C0C0">1406</font> <font color="#008000">1137</font> <font color="#0000FF">1611</font> <font color="#0000FF">1727</font> <font color="#0000FF">1603</font> <font color="#008000">927</font>

差は歴然。
# 受験、その後
さて、こんな感じで高3の5月から12月をAJLに費やしたのだが、何か忘れていないだろうか。
**そう、大学受験である。**
高3にもなってろくに勉強もせず呑気に~~AtCoderばかり…いや全然精進してないしな…~~ X(Twitter)とかDynamix(音ゲー)ばかりやっていた結果、模試とかの成績が大変なことになってしまった。二次試験まで2か月を切り、共テにいたってはもう十数日しか残っていない。今からやってなんとかなるのか大分怪しいが頑張る。
晴れて合格したら、AJLで戦ったみんなとリアルで会って話したいな～と思っている。こんなに交流してるのに顔も知らないというのも不思議な感じだが。(いっつもワイワイ騒いでるいつものX(Twitter)メンツ、敗者の会みたいになったな…)
当然AtCoderは大学入学後も続ける。いつか黄色とかなれるのかなあ。なれたらいいな。
落ちたら?知らん。受かればOK。
***
以上、AJL参加記でした。お読みいただきありがとうございました。
![スクリーンショット 2023-12-27 023159.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3513813/0b16f8cb-3128-dd08-26ea-28ffd252a116.png "おまけ:Zoi2の精進量(2023/12/25時点)。負けたのは100億%これのせいである。")