AtCoder橙になりました。

 

この記事は、色変記事 Advent Calendar 2020 12月21日に掲載するためのものです。

 

深夜テンションで思いついた勢いそのまま作成した色変アドカレ企画。

にも関わらず、たくさんの方に記事を寄せていただきました。

みなさま、本当にありがとうございました

 

本日は、企画者本人である 彼氏募集系競技プログラマーdokin の担当です。

 

なお、記事の中で一部気分を害される方がいらっしゃるかもしれませんが、構成上の演出ですので、この場を借りてお詫びいたします。

 

はじめに

 

タイトルの通りではありますが、

 

          私はAtCoderのレーティングでになりました。

 

いえ、この言い方はあまり適切ではありません。

 

 

 

 

 

 

        私はAtCoderのレーティングでにしかなれませんでした。

 

 

以下のレーティング変動をご覧ください。

 

 

f:id:dokinAC:20201221085143p:plain

 

atcoder.jp

黄色までは4か月、比較的順調なペースでレーティングを伸ばせていることがわかります。

この勢いをしっかり続けていれば、今頃は橙上位、もしくは赤になっていたことでしょう。

しかしながら、黄色になった3月以降、急激にレーティングの変動が小さくなっています。

現在のレーティングは僅か2444、いつ黄色に落ちてもおかしくない橙だまり です。

 

 

「コンテストが増えた10月以降は順調じゃないか」と仰ってくれる方はいるかもしれません。

しかし、コロナ渦で十分に精進する機会があったのですから、もっと勢いよくレートはあがるべきでした。

私はここに至るまで、赤パフォを一回しか出せていません

この記事では、なぜ私がこの9か月間レーティングをあまり伸ばすことができず、橙の最下位にとどまっているのかについてを考えをまとめたいと思います。

 

1.精進の甘さ

 

精進勢の代表格のおひとりであるRubikunさんは、あーだこーだーにゲストとしてご出演された際、「1年で4000問解いた 」とおっしゃっていました。

AtCoder以外にも、CodeForces,、TopCoderなどさまざまなコンテストを合わせてです。

しかし、私がこの一年で解いた問題数は、2000問にも到達していない。が少なすぎる思っています。

また、自分に何が足りないのかの分析をあまり行わず、解きたい問題だけを考え、だらだら実装する単純作業に終始していたと思います。

もちろん何事も楽しんでやることが一番ですが、競技者としての自覚が足りなかった点は、大いに反省できると思います。

 

2.メンタル

 

コンテストに対する態度が甘かったです。

ratedコンテストへの参加回数の不足な感が否めません。

精進で難しい問題を解いた経験が、「この問題は必ず解けるんだ」といった良い方向ではなく、「この問題がとけない自分はおかしいんだ」といった悪い方向に作用していました。

また、無理に高いパフォーマンスを狙って、変な順番で問題を解き進め、no subになることもありました。

自分は黄(橙)コーダーなのだから、落ち着いてやれば最低でも黄色以上のパフォはでるという自信

黄(橙)コーダーでしかないのだから、焦っても赤パフォはでないという謙虚さ

頭ではわかっていても、気持ちにしっかりと沁みこんではいなかったと思います。

 

3.嘘考察にはまる

 

赤diff、冠diffの問題は過去問でも多くを埋めており、難しい問題を解くのは苦でないと自覚しています。しかし、コンテストの時間内に通すことができない。

要因の一つとして、嘘考察に一度嵌ると抜け出せない悪癖があると感じています。

解けそうだけど解くことのできない方針に拘泥し、時間をどんどん失い、焦り、の悪循環で多くのパフォーマンスを失いました。

普段の精進だと、仮にうまくいかなくても別の日にリフレッシュして考えればあっさり解けることがありますが、本番の時間内にはうまくいきませんでした。

 

解けそうな方針を深追いする頭の回転の速さだけではなく、ダメそうな方針を判断し即座に撤収する頭の回転の速さをつきつめていく

・解けた方針にのみ注目するのではなく、ダメだった方針にも注目し、なぜダメだったのか分析する

といった意識で精進していくことが肝要だと思いました。

 

4.実装の遅さ

 

最近YouTubeで問題を解く動画の配信をする機会があるのですが、配信した動画を見返すと、自分の実装が、あまりにも想像以上に遅すぎることに気づきました。

簡単な実装箇所でも平気でつまる、何を考えているのかよくわからない時間が何十秒もある、ただただ退屈な配信を垂れ流しています。簡単な問題であっても、スムーズに実装できた問題は少なかったです。

最近JOIの過去問を埋め始めています。JOIは実装が重めの問題が多く、実装練習に最適です。

JOIを解く際は、何分で解き終わるかを実装前に予測し、その時間内に実装を終えることを目標にしています。

 

「その一秒を削り出せ」

簡単な問題にも難しい問題にも共通する、競技プログラミングの基本です。

 

5.細部を詰める甘さ

 

わたしはDPの添え字をバグらせ、時間を空費することが多いです。

バグらせるだけならまだよいのですが、考察自体が嘘であることに、デバッグの最中で気づくということさえ、とてもよくあります。

問題が解けた際、きっちり細部をつめた立式をおこなうことなく、ふわふわしたまま実装した結果、バグを生み出しているのだと思います。

立式をしっかりおこない、ノートを適切に活用して、バグや嘘の少ないコーディングを心がけたいと思います。

 

6.レベルの違い

 

実際のところ、青コーダーと黄コーダーでは求められる水準が一色分以上に異なると思っています。

青色まではABCがratedです。

ABCでは教育用の問題も多く出題され、典型テクニックとその適用方法を頭に定着させるだけでレーティングを伸ばすことができます。

一方で、ARC,AGCでは、どこから手を付けて良いのかわからない問題、解法に至るまでのステップ数が多い問題が多く、自分の頭の強さを引き出していく能力が、ABC以上に要求されます。

また、ABCではunratedの黄コーダー、橙コーダーが順位表の上を占拠するわけですから、当然ABCに比べて良いパフォーマンスが出づらくなります。

黄色下位で停滞してしまうのも、そこに壁があるのですからある意味当然なのかもしれません。

 しかし、色変後スムーズに黄色下位を抜ける方はたくさんいます。レベルの違いのみを理由にするのは浅はかです。

橙コーダーになって、そういった壁は目の前にありません。

つまり、今後は「レートの停滞=実力の停滞」に他なりません。

覚悟を持って精進していきたいです。

 

おわりに

 

このような記事を書くと、自分は頭が悪いとアピールをすることで逆説的に自分が賢いことをアピールしたい人間だと、後ろ指をさされるもしれません(界隈にはそういう方がよくいますね)。

 

批判は甘んじて受け止めますが、私は競技プログラミングのことを何よりも一番に考え、人生を競技プログラミングに賭けているとして当然のことを書いたと思っています。

 

むしろ、アドベントカレンダーの宣言は達成したわけですから、この程度の自責で済んでいるのかもしれません。

 

宣言を達成してできなかった方は、何が足りなかったのか、どこが甘かったのか、反省点は枚挙にいとまがないでしょう。

 

にもかかわらず、「がんばりまーすw」だけで済ませたり、笑いをとることに逃げたりしている人たちは一体何を考えているのでしょうか。

 

他のことで人生が充実しているので、そんな舐めたことをやっても何とも思わないのでしょうか。

 

コンテストでうまくいかなくてもヨシヨシしてくれる恋人がいるのでしょうか。わたしにはいません。

 

 

わたしにはいません・・・

 

 

 

 

 

 

 

 

 

彼氏欲しいです。

なんでいないんですか?

なんでわたしは一人でしくしく精進しているんですか?

さっき、嘘をつきました。

競プロのことを一番に考えているなんていいましたが、彼氏つくりのほうが優先に決まっています。

他愛のない話で一緒に笑い、落ち込んだときは一緒に泣き、お互いを認め合い、支え合い、常に自分と同じ方向を向いている生身の人間が、上がったり下がったりを繰り返す感情のない4桁の数字を下回る要素は、どこにも見当たりません。

嘘をついてごめんごりごり。

また、せっかく記事を書いてくださった方々に舐めているだのいったことも謝ります。

もちろん皆様、記事にするまでもなく、悔しい思いや目に見えないの努力をされているでしょうし、先ほどの言葉は本心ではございません。

彼氏がおらずぼっちなので嫉妬心に間が差した帰結です。

酷いこといってごめんごりごり。

 

 

 

dokinさん、決して悪い物件ではないと思うんだけどな~

 

最後になりましたが、みなさま良い年末年始をお過ごしください!

競プロも彼氏作りもがんばっていきましょ~(*^▽^*)