This page looks best with JavaScript enabled

AtCoderで水色になったので色々振り返ってみる

 ·  ☕ 6 min read  ·  ✍️ reud · 👀... views

いわゆる色変記事です!

先日のAtCoder Beginner Contest 184でパフォーマンス1370を出し、レートが1190 -> 1210 になり、無事入水することが出来ました。

AtCoderでは自分のレートが上がり、名前の色が変わると色変記事を書く人が多いのでそれにあやかってお祝いがてら書いてみます。そのため他の人の参考になればとかそういった気持ちはなく、完全な自己満足の記事となっています。
喜びの気持ちが伝われば嬉しいかなと思います。

自己紹介

MARCH理系のB4です。
数学が得意だったわけでもなく、センター6割くらいの実力でした。
プログラミングが得意だったわけでも大学一年の授業で触ったCが初めてです。
こんな感じで数学や情報科学が滅茶苦茶強かった訳では無いです。

歴史を振り返る。

2018/7/21 AtCoderを始める

Pythonを趣味で勉強していた頃に2chのまとめ記事を読み漁っていたらAtCoderの名前が出てきて、どうやら自分のプログラミングスキルの腕試しが出来るらしいと知る。

2018/12/22 茶色到達

この頃は確か精進とかを知らずに只々コンテストに出ていたら茶色になった。

2019/2/6 緑色到達

AtCoderJobsの存在を知る。
当時やっていた塾講のアルバイトがびっくりするくらい不得意だったので緑色到達してすぐぐらいにAtCoder Jobsで某社にアルバイトで応募した。
開発が好きだったので当時やっていた開発の話をしたら採用貰えて人生が大きく変わることに・・・

2019/9ぐらい? C++に変える

このあたりの話は後で。

2019/11 茶色に落ちる

C++に変えたことによって、脳みそで「言語変えたししゃーない」と思えるようになったのでメンタルは破壊されずに済んだ。
競技プログラミングの調子が悪くなってきたら言語を変えることで自分のしんどさの逃げ道を作ることが出来るのでオススメです。

三回くらいで緑に戻りました。

2020/5 ぐらい

螺旋本を買った。写経ACもいくつかあるが一応全部目を通した。

2020/11

水色になった。やったぜ!

言語の話

2019年の中旬に今までずっと使ってたPythonをやめ、メイン言語をC++にしました。(とはいえPythonもたまーに使っていますが。)
というのもTLEでコンテストが終わった問題に対して、(Pythonだからかな・・・)って思う自分がすごく嫌でした。maspyさんを筆頭に大体の問題はPythonでACできますが、ちょっとでもTLEするとPythonだから〜を言い訳にしてしまう自分がとても憎く、
いっそ言い訳できないようにC++に変えてやろうと思いまして、そのまま変えてしまいました。
とはいえ変えて良かったとは思っていて、データ構造やら色々とC++の方が知見が多いと感じています。Pythonのシンプルな記述も魅力的ですが、C++はやっぱり利用者が多いのでとても良いです。
PythonはC++だとオーバーフローに気をつける必要がある問題などに利用していく予定です。(書きやすいから文法も忘れにくくて助かる・・・)

今まで提出言語はこんな感じです。PythonのAC数をC++が追い越す頃には水色になっていると思った時代もありました・・・

精進の話(モチベ編)

びっくりするくらい飽き性の自覚があるので、AtCoderへの熱が冷めてしまうのが一番怖かったです。そのため自分がちょっとでも苦痛に感じるような精進方法は採用せず、自分が楽しいと思えるような方法を意図的に選択していました。

  • AtCoder(競技プログラミング)をやりすぎない
    • 燃え尽き症候群対策です。ちょっとでも疲れたら終わりにしてました。何よりも問題解きたい気持ちを出来るだけ残すことが大切では無いかと思っています。
  • 無理だと思ったら解説ACをする。
    • 長時間考えて問題の解答がわかったことが無いので、成功体験が乏しく、正直分からなかったら諦めてしまうクセがあります。とはいえ考察がある程度進んでたりするとそのまま考えますが、手も足も出ないとすぐに萎えます。
    • なので、わからない場合はすぐに解説をみてACします。写経ACは出来るだけしないようにしていました。
  • バチャをやる
    • AtCoder Problemsでバチャを開くとちょくちょく参加者が来てくれて楽しいです。
    • 参加してくれた人のTwitterを追っかけてフォローしたりするとライバルが増えて良い感じです。

精進の話(内容編)

  • 埋める
    • 音ゲーでもそうですが、低難易度をクリア埋めするのが滅茶苦茶に楽しいです。maimaiやチュウニズムはexpartを全部RANK Sで埋めたりするくらい好きです。
    • AtCoderも例にもれずひたすら下からAC埋めをしていました。
    • よく低難易度の問題を埋めることを虚無埋めと呼ぶ方もいますが、個人的には速解きの練習になったりごくまれに解けなかったりするので虚無とは全く言えませんでした。

AC状況はこんな感じです。

  • 復習をする

    • コンテストは実践環境(=本気の状態)で問題に取り組むことができます。
    • がっつり問題文読んで解けない問題は必ず解説を読んで復習するようにしていました。
    • 解けないままにして置くと解けないままになってしまいそうなので・・・
  • 本を買う

    • データ構造とアルゴリズムを網羅的に学習出来るのは強いです。
    • 僕は螺旋本を買って、すべて理解できているわけではありませんがワーシャルフロイドやダイクストラとかはある程度かけるようになりました。

水色になって嬉しいこと

色関係なく二年以上同じコンテンツに力を注ぐことができて、ちゃんと目標を達成できることがわかってとても嬉しいです。
長く続けてきておいて目標が達成できず、心が折れてしまったコンテンツの代表格にBeatmaniaIIDXがあり、七段が永久に取れなくて離れてしまったのですが、別コンテンツのAtCoderでは達成できて本当に良かったです。

水色になると嬉しいこと

  • AtCoder Jobsの必要ランクがBの求人を見てニヤニヤ出来る
  • どうも、reudと申します。⇛どうも reud と申します。になる。

ICPCのチームメイトのtunehiraが書いた記事であるICPC2020 国内予選参加記にはこのような締めの文が書かれています。

全員初参加,水緑茶のチームとしては健闘したのかなーって思います.来年は全員 1 色上げて戦いたいです.

引用: ICPC 2020 国内予選参加記 - Blog

後は二人が色を上げれば願いは叶いますね!

締め

とりあえずICPC2021までは頑張って競技プログラミングを続けていこうと思います。それまでに青になれたら最高です。

Share on

reud
WRITTEN BY
reud
Stundent