競プロと音ゲーと私

競技プログラミングから身を引くことにしました | Kichi's BLOG

を読んでの感想と自分語りです。原型の文章は読んだその日に書いてたけど、その後寝かせてしまった。

特定言語だとうまく正解できないやつ

わかる。
俺が使っているのはPythonであり、競技プログラミングの言語論争においては叩かれることのとても多い言語なので、気持ちはわかるわという気分である。
たまたま今回の問題はC#で特に正解しにくくなっていたに過ぎない。

あってるはずなのに通らないとキレたくなるやつ

わかる。
競技プログラミングをする理由の一つに「楽しいから」があるだろう。
AtCoder社長のchokudaiさんによる電通報の記事の中で、AtCoderに参加する理由についてアンケートを実施している。
超高度IT人材の宝庫、「AtCoder」の実態とは? | ウェブ電通報

やはり、アルゴリズム学習などのスキルアップを期待しているユーザは数多くいます。ですが、面白いコンテストが開催されるから、という項目にも、かなり多くの票が入っています。これは、重要な要素です。 と、文中には書いてある。
しかしながら、面白いコンテストが楽しくなくなる瞬間が存在する。思うように解けなかったときだ。

「問題を解けなかった」にもいくつかの類型があると思う。
解法をまったく思いつかないとか、自分の知らない原理が使わていたとかなら、まあ解けないのも仕方ないよねと納得がいく。
(以前のことだが、解説を読んで「優先度つきキューなんて知らんがな。こりゃ正解できなくても仕方がない」と思った時があった。)
しかし、合っている(自力で解法を思いつき正しいコードを実装した)はずなのに、プログラミング言語の方の仕様で落ちたり(主にTLE)すると、ものすごくストレスがたまる。
C++/Javaを使えばその種のストレスから解放されそうな気はするが。)

思うように実力が上がらないと趣味を続けるモチベーションが下がるやつ

わかる。
趣味については、この「思うように実力が上がらないと趣味を続けるモチベーションが下がる」という問題がある。 競技プログラミング音ゲーを同時にあっている人はけっこう多いようだ……というか、この記事の筆者も音ゲーマーであるようだ。
しばらく音ゲーをしないでいると、昔はクリアできた曲をクリアできなくなって、やる気が落ちることが多い。
どうしたらいいんだろうねという感じである。
何事も、努力を続けて十分に強くなった人は賞賛を浴びることが多いが、その一方で、一旦このスパイラルに入ってしまうと難しい。なぜなら、失った実力を回復するのはそう簡単ではないからだ。
別に競技プログラミング音ゲーに限った話ではなく、運動系や、楽器の演奏といった趣味にも当てはまるかもしれない。

趣味との付き合いについて

考えてみると自分は趣味全般について(主に競プロについても音ゲーについても)、浅く長くという関わり方をすることが非常に多い。
あんまりどっぷり浸かるというやり方をしないなと思う。 この間調べてみたら、AtCoderのコンテストに初めて参加したのは2014年であったことに気づき、自分でも驚いた。そんな長い時間やってたのかと。 https://twilog.org/Linus_MK/search?word=atcoder&ao=a&order=allasc 時間が長いということは、自分より後に始めて、自分が水色で停滞している間に、あっという間に青や黄色に上がった人もたくさんいるわけである。

そして趣味については、割とついブランクを空けがちである。
(あれ?「浅く長く」と矛盾してないか?) 俺のレート変動を見て分かる通り、2018年のコンテスト出場は5回、レート変動は2回のみである。
2018年の後半は全くコンテストに出場しなかった。
競技プログラミングこそ俺の全て!!!俺は全力を競技プログラミングに賭ける!!!」になると、実力が上がらなかったときにめちゃくちゃストレスが溜まりそうなので、 ほどほどにするか―。という気持ちが働いているのかもしれない。

「辞めます!もうコンテスト出ません!!」と思い詰めるくらいなら、 趣味とほどほどの距離をおいて「まぁ今日はちょっとめんどくさいので、休むか」くらいの姿勢でいるのもいいと思う。
その一方で、熱心に心血を注ぐことができるのは羨ましいなぁとも思う。

書いているうちに何がなんだか分からなくなってきたので、このへんで。