17
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

競技プログラミング atcoderで黄色になった話

17
Last updated at Posted at 2026-03-16

はじめに

黄色になりました
スクリーンショット 2026-03-16 062411.png

image.png
すごい上がり方だぁ

自己紹介

初めまして、えどんです。
黄色になったので色変記事を書きます。
画像を見るとまるで1年で黄色になったみたいですが、少し違います。
何年か前に使っていたアカウントがありましたが、ブランク2~3年になるところだったので、アカウントを新しくして再開しました。
再開前はスマホでやっていてレート800に届いていなかったので実質1年ということにします。

全体を通してですが、ABCでレートを稼ぐことを主軸にした内容になっているはずです。
何か別のことを求めてやっている人に対しては精進方法の部分は役に立たないものだと思います。

競プロたのしいなー

このオンラインゲーム楽しい。
間に合うはずのなさそうなものの計算量が落ちて間に合ったときの気持ちよさえぐい。
こんな感じなので、証明はできません。「こうだったらいいなアルゴリズム」を書き続けています。
ARC++とAGCが控えているのでここで負けないように頑張りたい。

精進方法

メインは黄色になる話ですが、関係ある部分もあるので入水、入青についても書きます。
もともと800いかないぐらいだったので入茶、入緑は省きます。というか覚えていません。


winter_2521さんが立てたこんなバチャがあります。

問題はリンク先の説明にある通り、「緑~青diffくらいの問題寄せ集め」です。
入水、入青はこれを使いましょう。

下のこっちは自分で立てたものです。

これはリンク先の説明にある通り、「ABC:300~399 diff:1500~2400」を集めたもので順番はランダムです。
入黄はこれを使いましょう。

大体解けません。
一旦諦めて全部見てとりあえず解いたことのあるもの、解けるものだけ解きましょう。
解けなかったやつが残るので解説はがっつり見ましょう。
ABCは知らないと解けないものばかりです。
車輪の再発明はそれはそれで楽しいですが、レートを稼ぐという意味では解説を見たりして吸収していった方が効率がいいです。
ちゃんと自分で書くところまでやりましょう。他人のコードを見ることはいいことですが、写して満足するのはあまり意味がないと思います。解説を見たり、他人のコードを見たりした後に、それらを見ずに自力でコードを書きましょう。つまり、完全に理解してから問題だけを見てさっき見たものを再現してください。こんなのライブラリなしで書けないと思うものはライブラリ化1しましょう。そのあとに、それを使って再現しましょう。
再現できない場合はもう一度解説を見るところからやり直しましょう。自力で再現できるまで繰り返します。書き方が煩雑になってしまったり、バグを多く埋め込んでしまったりしたものは書き方を統一しましょう2。この統一はバグも減らすし、速度も上げてくれます。

全部解き終わったら解いた問題が含まれるコンテストのバーチャル参加をやって、高いパフォが出るので調子に乗りましょう

これだけでも黄色にはなれるかもしれませんが、やはり初見の問題を時間内に解き切る練習もしたいところです。
自分が立てたほうのバチャはABC300~399なので古いものは含まれていません。これはABC212~2993をこの練習のために残しておきたかったからです。
これをバーチャル参加して解きましょう4。2400perfが出るとうれしいし、自信になります。これも解けなかったが参加者のAC数がぼちぼちある問題や、ギリ解けそうな問題などを解説見てさっき書いた通りの自力再現をしましょう。数人しか解いていないようなやつは知りません。解説すら多分分かりません。ABC212~299をやりきる前に黄色になれるはずです。
なれなかった場合は、ADTをやりましょう。知識はそろっているのであとはスピードと正確性です。ADTは好都合です。初見の問題のほうはAWCをやりましょう5。ただ、ABCのほうが問題の質はいいので解いていないABC212~299があるならそっちを優先した方がよさそうです。

あんまり有効じゃなさそうな精進

反対意見ありそうだけど書きます。ABCに限った話なのでARC、AGCは分かりません。

やたら難しい問題を解く

ABCで自分のレベルよりかなり上の典型が含まれる問題を解くのはおすすめしません。そこの典型要素以外の部分で詰まったりして今何やってんのかわからなくなります(なりました)。もしその問題が解けたとしても、本番で出て解けません。それに、そんなに難しい問題をやるぐらいならもっと簡単な典型を解けるようになりましょう。簡単な典型を抑えたほうが難しい典型もすんなり吸収できます。

解けるまで何日たっても解説を見ない

問題を数こなしていけるならそれでもいいです。やってる問題の量が少ないのに質もなにもないです。ABCでは典型だけ解けてればいいので、量やらないと始まりません。

まとめ

とにかく自力再現をしましょう。コンテスト中にやることは自力再現に近いです。類題を解くのも自力再現に近いです。というか典型とはそういうものです。ライブラリもだんだんそろってきます。バーチャル参加で2400perfが出るようになると、入黄目前です。

  1. ライブラリはAIに書かせていました。yosupo judgeでverifyは必ず行いましょう。お気に入りは遅延伝搬反転可能乱択平衡二分木です。想定解法にないズルができます。

  2. 桁dpのループの書き方を統一したらバグが大幅に減りました。

  3. なぜABC212からかというと8問制だからです。あとABC212~318で典型を出し切ろうというコンセプトがあったらしいです。

  4. 長期休みだったので、平均して一日でコンテスト2つ分ぐらいやってました。ABC縦埋めに対抗して、ABC横埋めと呼んでいます。

  5. AWCはあんまやってないので、どれぐらい有効か分かりません。

17
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?