6
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

入水したのでいろいろ書いた

6
Posted at

はじめに

初めましての人は初めまして。siooisiです。(Twitter:@siooisi)
先日のABC464で水色タッチ、ARC224で本格的に水色インと言ってもいいレートになったと思うので、記念かつ記録として記事を書いています。

現在までのレーティング推移

入水はかなり区切りになると考えているので、自分のためにもしっかり書くつもりです。是非最後まで見ていってください。

目次

自己紹介

入緑の際の記事でも書いていますが、ここでも軽く書きます。

  • 高専の専攻科1年。20歳。
  • 使用言語はC++。
  • 使用エディタはVSCode。
  • コンテスト初参加は2025年の11月1日(ABC430)。
  • 始めたきっかけはえびまさんの動画。
  • 難しい問題(水diff↑)はあまり解けない。
  • ratedコンテストには参加できるときは必ず参加しています。(始めてからは2回しか休んでいないです。)
  • コンテスト参加回数は38回(2026年7月16時点)。
  • タイピングがなかなか遅い。

タイピング速度の測定結果
(一万円お得とか出してる人はなんですか??)

入緑までの道のり

緑から水までにどういうことをしていたかの前に、軽く今までの色変を振り返っていきます。

茶色まで

約2か月ほどの期間灰色でした。
やっていたこととしては、AtCoder ProblemsのTraining機能を使って精進していました。

このころはsetなどのデータ構造なども全く知らなかったため、使う問題に出会っては習得する、みたいなことを繰り返していました。

当時はAPG4bだったり、NoviStepsといった初心者向けのいい教材を知らなかったのですが、知っていたらそっちをやっていたと思います。

また、始めた最初はすぐ緑いけるでしょとか思ってたので、結構茶色行くのも大変じゃん!と思った記憶があります。

緑色まで

約3か月ほどの期間茶色でした。

この頃にTwitterで様々な人と交流をとるようになり、かなりモチベにつながっています。
普段関わっている皆さん、ありがとうございます。

この期間でNoviStepsの存在を知りました。
知ってからは、ほかにACLの練習問題をしたり、典型90を少しやったりはしましたが、NoviStepsの同グレードを埋めていくことをメインでやっていました。

茶色中盤までは3Qを、緑中盤までは2Qを埋めていました。

私としては、同グレードを10割解けるようになってから次に行く必要はないと考えていて、7~8割解けるようになったと思ったら次に行ってもいいと思います。

novistepsの達成状況
これが私の今の進行状況ですが、どのグレードも半分も行ってないですがこんなもんでもいいんじゃないかと思ってます。

水色になるまでにやったこと

約3か月ほどの期間緑色でした。

正直、NoviStepsに出会ってからは同グレード埋め以外のことをあまりやっていなくて、レート~950くらいまでは2Qを、それからは1Qをめちゃくちゃやっていました。おすすめです。

それと別のことを言うとするなら、最近はDiscordサーバー1を立て、平日21時などに昔のABCなどをバチャで複数人でやることにより、本番っぽく、また、やる気がない夜にも時間があるなら半強制的に出る意識ができるので、勝手に(?)精進ができてこれもおすすめです。

また、ARC--が開催されるようになったということで、ARCの練習も多少はやるべきではあったんですが、ARC--が不定期なのでABCの方に注力していました。
つまり、水色になってから考えればいいやと思ってました。

しかし、水色タッチした1日後に無印ARCがあり、苦手な自負はありましたがunratedは"甘え"だと考えているのでratedで参加したのですが、そこでなんと0完・茶パフォでバカ冷えしてしまいました。緑色落ちもしました。

ARC223後のレート推移
(表示期間を直近2か月にしています。無駄にARCの次のABCでも冷えています。)

これによりめちゃくちゃ火がついて、最近2~3週間くらいはARCの精進95%でやっています。その成果もあってか前回のARC--(ARC224)でまさかの5完・1887perf、それにより再入水、という流れです。

正直この5完は相当噛み合った上振れだとは思いますが、ARCには夢がありますね。ARC得意な人がうらやましいです。

私が考える入水のポイント

ここでは、水色を目指す方へ向けて、自分の経験からどういうことが大事かを伝えていこうと思います。
上から目線に見えたら申し訳ないです。
また、ここではABCの話をしていきます。ARCについては私自身もまだまだ未知数な点が多いため、ここではしません。

コンテストでの話

ここではどのアルゴリズムをやるべき、ということではなくコンテスト全般的な話をしていきます。

まずはじめに、コンテストは忙しかったり、体調が悪いなどで万全のパフォーマンスを出せない、参加できない等の理由がないのであれば、ratedで出ることをおすすめしたいです。
もちろん、レートを賭けてやる以上、勝つこともあれば負けることもあるし、悔しい思いをすることもあるかと思います。
出て勝つことができるなら御の字です。
ただ、負けたとしても、悔しかったならそれをバネにやる気を出して精進する、次勝つぞという思いが原動力となり力をつけると考えているので、出れるのであれば絶対にratedで出るべきだと私は考えています。

次に、私の傾向を分析して、そこから水色になれた要因を探っていこうと思います。

私の強みとして、知っている似たような問題をすぐ思い出して早めに解けるというのがあり、NoviStepsで近いレベル帯の問題に大量に触れられたことで典型力が上がり、早解きでパフォーマンスを得られたのではないかなあと思います。

実際、私は最近のコンテストでは、コンテスト開始時刻から見て、Cまでは15~20分ほど、Dまでは~60分をまあまあな頻度で取れていて、特にDを40分以内に解けた回では4完であっても水パフォをとることができています。

ただ、逆にEを通せている回は多くなくて、今までで4回、中でもEが水diffだったのは2回なので、考察から難しい問題を解く、みたいなのを苦手としています。しかし、Eを通せていなくても冷える2回はそこまで多くありませんでした。具体的にいうと、今までのABCで3回です。

これはどういうことかというと、難しい問題で高いパフォーマンスを発揮するタイプでない代わりに、早解きでパフォーマンスの下振れを抑えられていたので落ち込むことが少なかったのだと考えられます。

つまり、私のパターンに当てはめるとするなら、水色になるには必ずしも水diff↑の難しい問題を多く取れる必要はなく、安定して緑diffまでの問題を素早くとることのほうがレートが冷えることへの対策となり、結果的にレートが上昇していく、ということになりそうです。
(もちろん、水diff↑が問題次第で解ける考察力があるならそっちを伸ばす方面も大いにありだと思います。)

なので、あくまで私の見解ですが、レートが伸び悩んでいる人は、早解きの練習をして、たまにある上振れ回で伸びたのを落とさないようにしていくのがいいのではないでしょうか。

知っているアルゴリズムだったりをパッと書けるようにするのにも練習がいりますし、その点でもNoviStepsでは解法別の問題集があったり、けんちょんさんがAtCoder Problems上で特訓バチャを過去に開催していたりするので、そこにあるならそれで集中的に練習するだったり、自分の適性グレードの問題を時間を計って解いてみるなんてのもよさそうです。

実際、私は尺取り法の練習はけんちょんさんのしゃくとり法特訓バチャを利用して自分に書き方のテンプレを叩き込みました。かなりの確率でバグらせてしまいますが。
(蛇足ですが、dequeを用いた尺取り法はバグらせにくい?らしいので練習したいです。)

どのアルゴリズムを習得しているか

どのレベルのアルゴリズムがわかっているかですが、E869120さんの水色コーダーを目指す人のための記事に書いてあることが割とメインです。
この中にあって私が習得できていないもので行くと、

  • ワーシャルフロイド法
  • クラスカル法

が挙げられます。
これらを使う問題にはあまり出会った記憶がないような気がします。(習得しておくに越したことはないですが。)
ただ、素数判定だったりUnion-Findは自作ライブラリだったりACLを使うので、本質を完全に理解しているとはいえないかもしれません。

また、ここに載っていないものでいくと、どちらもライブラリ前提にはなりますが、(遅延)セグ木、Rolling Hashは使えると楽になる問題がたまにあるかなという印象です。

それと、話が少し変わりますが、問題を素早く解くために、かなり多くのものをライブラリ化、スニペット化しています。
例えば、グラフの入力など基本的に問題によらず決まっているものはスニペット化することでコンテスト中のタイピングを減らすことができます。

バグらせやすいものをライブラリ化するのもかなり有効だと考えていて、2次元累積和から矩形和をとりたいときなど、インデックス周りがごちゃごちゃしがちなので、AIに頼むなどしてライブラリ化する(一応書いておきますが、本番ではなく練習の段階で作成するということです)のは本番でのミスを減らせていいんじゃないかなと思います。もちろんちゃんと使えるかの確認は必須ですが。

水色になった感想・今後の目標

水色になった感想としては、とにかくまずうれしいです。
入緑の際の目標であった、3ヶ月で入水も達成できたと言えるので、そこもうれしいです。
競プロを始めた当初の目標でしたし、茶色とかの時は憧れの対象だったので、いざ自分がそこにいるとなると変な感覚ですし、水コーダーの自覚もまだ全然ないです。緑パフォで冷える世界は普通に怖いです。

今後の目標としてはやっぱり入青です。今年中になれるといいですがどうなることやら。
直近の目標で行くと9月6日にある"第七回日本最強プログラマー 学生選手権 ~Advance~"までにレート1400いけるといいなとか考えてます。
そのためにも今後は1D埋めを進めていくのと、ARCでレートを稼げるように精進していきたいですね。
ABCで6完もできるようになりたい。
欲を言うなら学生で時間が取れるうちに黄色とか行ってみたいです。

おわりに

ここまで読んでくださってありがとうございます。
次は入青記事でお会いしましょう。

おまけとしていろいろな雑多情報をここに貼っておきます。

現在のAC数
Heatmap
DifficultyPies
コンテスト中のACdiff降順(ABC)
ABCコンテスト中AC diff降順

コンテスト中のACdiff降順(ARC)
ARCコンテスト中AC diff降順

  1. Discordサーバーに興味がある方はTwitterで連絡お願いします

  2. レート差分がマイナスになること

6
2
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
6
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?