AtCoder でレーティング 1,200 を超えました! 自慢します。
レーティング関係
推移
開始〜『入水』まで 15 ヶ月かかりました。長期戦でした。
各所でユーザ名が水色表示となりました。すっかり嬉ピクミンと化しています。
『入水』は多くのプレイヤーが掲げる目標であり、『入水記事』も人気コンテンツです。好き勝手書いていきますよ!
手応え
AtCoder を始めて以来、巨大な万力でも回し続けたような気持ちです。 1mm
も進まないまま今日の自分をミキサーにかける、そんな無念の連続でした。
それでも
お前はプログラミングが下手だ
と突きつけてくる世界の輝かしいことと来たら! どうにも目を逸らすことができず、水色までやって来れました。
水色レーティングの位置
レーティング 1,230 は AtCoder のアクティブユーザ全体の上位 7.5%
、茶色レーティング以上で見ると上位 25 %
程度にあたります。分母を絞ればゴロゴロいるわけですが、上澄みなのは間違いありません。
稀によくいる
レベルです。
レーティングの範囲 | 僕の順位 | 該当ユーザ数 | 僕の順位 / 該当ユーザ数 [%] |
---|---|---|---|
灰〜 (0 以上) | 7,684 | 104,331 | 7.37% |
茶〜 (400 以上) | 7,684 | 28,927 | 26.6% |
モチベーション
入緑〜入水の間では、超美麗ライブラリ
cojna/iota を読んだり、動的計画法を (表面上)
immutable
に解くのが至上の楽しみになりました。面白そうなものを探し続けた価値があったと思います。
これまでで一番の収穫
半年間灰色コーダーの時期がありました。
入茶記事
の通り散々でしたが、あれが良かったと思います。
クダを巻くことに比べたら、自分の実力に絶望する方が正常です。今後もそうした転換を図りたいものです。
今後の訓練
今より上のレーティングを目指すためには、基礎学力が足りません。今さらですが、進学校レベルの高校数学をやろうかと思います。
学部教養レベルの数学も使いたいですが、遠いです。
使用言語
僕が Haskell を使わなかった場合の if は、過去の活動を遡って確認できました。 4 回 AtCoder
に挑戦し、いつも 1 日で挫折しました。
僕のような例は多数派のはずです。むしろ Haskell 無しで競プロにハマれる方が、特殊な才能
(面白いものを見つける嗅覚) がある気がします。
人々
Haskell / AtCoder 周辺の人々への関心を書きます。
閲覧環境
茶色時代 (入緑記事)
とは打って変わって、コンテスト後に人の Haskell を読むのが一番の楽しみとなりました。
毎回フォームで言語指定するのが面倒くさくて、 Haskell
の提出を検索するリンクを常駐表示させてみました:
これで相当快適になりました。
一応ソースも置いておきます (Gist)
。
隣の Haskeller
AtCoder / Haskell 周りのイカれたメンバーを勝手に紹介するぜ! (常態)
-
Dr. Haskell
盆栽が上手い。高度な抽象化により、多数の問題が共通の構造を持つことを示す。速度よりもフレームワークを重視する一方、最速実装の収集にも余念が無い。我々 (?) にモテる。
-
Mr. Haskell
常連中の常連。ほとんどすべての AtCoder アルゴリズムコンテストに出場されており、一方的な親近感を禁じ得ない。きっと 5 年後も居てくださる。
-
Mr. OCaml
OCaml の方 (Haskell は特に関係無い) 。コードへの熱意、類稀なナードさ、まさかの OCaml など表面情報だけでも関心を惹かれて止まない。僕にモテる。
-
Mr. Enthuiast
とにかく考察が上手い。よく上手な計算方法を人々の 🧠 にインストールしている。再帰でコンテストを破壊するなどの面白エピソードが多く、我々 (?) にモテる。
-
Mr. Curious
おそらく遊び上手。 Rust と Haskell を持ち替えつつ試行錯誤する様子が伺える。パイプライン演算子などを定義して自身の思考に言語を寄せていくスタイルが参考になる。僕にモテる。
-
Mr. 100% Haskell
正統派 Haskeller. リストやIntMap
の扱いが非常に上手く、 ABC の解説投稿が参考になる。しかしシンプルな Haskell とはそう簡単に真似できるものではない。自然と我々 (?) の尊敬を集める。
-
Mr. Tired
おそらく数値計算の方。あたかも当然の顔をして Haskell を書くが、本気を出すときは Fortran である。まさかの Fortran である。とても気になる。
-
Mr. Migrator
おそらく Haskell 練習中のお方。 Common Lisp をやり込んだため、次は Haskell ということなのか。密な訓練をされているため、 Rated 再開の日は遠くないのかもしれないし、別の意図があるのかもしれない。やはり気になる。
-
Mr. 異常精進
黄 diff や Ex 問題さえも upsolve する異常精進の鬼。きっとアルゴリズムの頂を見たことがある。 Codeforces でも通用しそうなスタイルで気になる。
-
Haskell きゃっと
Codeforces からの刺客。たま〜に現れて流石の成績を残し去っていく。絵がかわいい。
-
Haskell すきー星人
vector
派 Haskeller. Haskell を好き過ぎる余り、 E 問題であろうとコードゴルフをねじ通してしまうことがある。超美麗ライブラリを公開しており、我々 (?) にモテる。
-
殺せんせー
初めて見たとき、それが Haskell とは思えなかった。基本 toyboot4e の 10 倍速いコードを提出する。実は Haskell で C++ をぶち抜くことに快感を覚えている。
マッハ 20 黄色レーティングの超生物。とにかく面白くて我々 (?) にモテる。初心者の質問に 300 点満点の返信を送るスーパーハッカーの 1 人でもある。
隣にいない Haskeller
-
序盤の問題だけ Haskell で提出する人たち
皆ウォッチしています。
-
昔 Haskell を使っていた人たち/ ABC に参加していた人たち
過去の提出を参考にしています。
-
既に高レーティングにも関わらず Haskell に持ち替えようとする人たち
凄過ぎる。。楽しみです。
-
AHC 参加者
いません。 Lisper はポツポツいます。
僕
最近の僕はエキセントリックな面々に近づいており、『実行速度でソートして 1
ページ目の提出に現れる (下図)』『ライブラリ全体を 1 行にフォーマットする (提出例)』『Emacs Lisp の束の間
Language Owner
になる』などを達成し、インターネットっぽくなりつつあります。
盆栽
最後に経験値やライブラリの話を書きます。
典型盆栽
手札が揃いました。コンテスト中は、ほぼ定型的なプログラムしか書かなくなってきたと思います。
15 ヶ月経って慣れました。
問題演習は、自分自身に正しいインプットを施して来たかの確認作業という面があります。これは『盆栽』と呼んでしまって良いでしょう。
Haskell である意味が無い
残念な点としては、 Haskell らしい Haskell
を書かなくなりました。結局、一部を手続き型プログラミングにすると、速くて便利でバグが減ると感じています。
しかし
久しぶりに Rust を書くと『関数型言語 Rust』ができたりする (提出例: ナップサック問題)
ので、 Haskell のおかげでプログラミングの幅が広がったのは間違いありません。
また Haskell 自体、ポイントフリースタイルで関数合成できるのを爽快に感じます。 Haskell
でない意味も無いならば、引き続き Haskell を使って行こうかと思います。
AtCoder をいつ止めるのか
日々の訓練が自然消滅するまではダラダラやっていこうと思います。 DP くらいは黄 diff
の問題も解けるくらいやり込みたいです。
終わりに
入水時点の興味・関心を書きました。輝かしい日々でした。