1年以上放置していたが、競技プログラミングに復帰しようという話。 競プロから一度離れると、ほとんどの人は二度と復帰しない。 離れた瞬間、あんなに面白いと思っていた競プロが本当にくだらないものに見えるからだ。 従って、1年のブランクののち復帰するという人間はかなりレアになる。 そんなレアな人間が何を考えてるのか書いておこうと思う。
復帰する理由
この前の第二無職期に、再就職の足しになるだろうと思って競プロをしていたが、 無職から来るあまりのプレッシャーで精神が壊れてしまい、 命からがら就職も出来たので競プロからは離れていた。
ここらへんが参考になるだろう。
それからは実プロ(実プロの反対語は虚プロ)ばかりしている。 仕事の一貫としてRaft(日本コミュニティからの☆もっとください)を作ったり、 他にも色々と実プロをやったが、そうしていく中でおれの中で 「このまま競プロで負けたままでいいのか」という思いが湧いてきた。
いや、負けること自体は別に、おれの能力が劣ってるのであれば構わない。 しかし、前回の競プロ期では、自分の能力を出し切ったという思いは一切なかったから、 結果に不満がある。 おれならもっとやれて当然だ。
現実的な問題としては、 今後ITエンジニアの需要はより高まっていくと思うが、 より科学的で高難易度の仕事は 青や黄が要求されるようになると思う。
状況の改善
以前に比べて状況は改善している。
まず、おれは無職ではなくなったから、ある程度リラックスして取り組むことが出来る。 これは競プロをやる上ではもっとも大切なことだと思う。 レートの一点は血の一滴という状況下では、数学的思考をすることはとてもじゃないが無理だ。
もう1つは、ABCがかなりまともになったことだ。 おれがAtCoderで水色に入ったあとCFに移ったのはABCの問題が当時は糞だったからで、 CFの方がまだ学習要素があると思ったからである。 (実際これは正しい時もあるが誤ってることもある。CFは理解不能な問題が出ることもある) しかし、これにはこれで問題があり、CFは開催頻度が高いし、開催時間が日本時間でいうと真夜中になるので、 生活リズムにも悪影響がある。さらにいうと、システムテストという仕組みが害で、通るかどうか不安なまま寝られないという事もあった。 こういったことも精神に悪影響を与えたと思う。
おれはもうすぐ37歳になるが、最近でもベンチプレス100kgを8回挙げるほど、肉体的には強靭な方だが、 精神は繊細で、ちょっとしたことで壊れる。 最近ではABCもかなりEducational寄りになってるようだから、 午後9時から日本語でやれるなら願ってもない。
復帰に向けた準備
今は、復帰に向けて準備をしている。
1年以上空いてしまったので、記憶がほとんど吹っ飛んでしまっている。 アルゴリズムの名前と、それが大体どういうことをするかは覚えているし、 当然Rust自体は仕事で使っているので忘れていないのだが、 アルゴリズムの動作原理・証明が全くわからなくなっている。 だからまずは、自分が過去に作った競プロライブラリを理解することから始めている。 今回は特に、コメントに簡単な説明を文章で残すことにした。
こういった知識は復習すればいいだけだと思うが、 問題を解く勘のようなものは問題を解くことでしか取り戻せない。 これについては今、都合の良いことにEくんという人が典型90問というのをやってるようだから、 これをリハビリ目的でやっていこうと思う。 あとは、過去のABCとPASTをバチャで埋めていくつもりだ。 まずはこれを優先して、追いついたらyukiに参加する。CFはやらないと思う。
当然だが、復帰は突然思いついたものではなく、 いつか復帰したいという思い自体はあったから、 去年は競プロは一切解かなかったが、受験生のごとくマスターオブ整数を解いて準備はしていた。 復帰した場合、整数問題が得意な方が有利になると思ったからだ。 これもある程度は有利になると思う。
青行けるなと思ったらコンテストに参加します。
AtCoderにおねがい
- チーター対策をちゃんとしてください。
- 倒産しないでください。