はむ吉(のんびり)の練習ノート

プログラミングとことばに関する話題を中心に,思いついたこと,試してみたこと,学んだことを,覚え書きを兼ねてまとめます.その際に役立った,技術書,参考書,辞書,機器などの紹介も行います.

2016年を振り返って:(競技)プログラミングを中心に

思い返せば、2016年にはいろいろなことがあった気がします。競技プログラミングだけではなくいろいろな面で、自分にとって新たな出会いや画期的な出来事がありました。そこで、ここ数年はやっていなかったのですが、久しぶりにこの1年を振り返ってみようと思います。

プログラミング:特に競技プログラミング

なんといっても、今年は競技プログラミングが自らの趣味として定着し、少しずつではありますが強くなった年でした。また、競技プログラミングをきっかけとして、いろいろな言語に触れることができました。

特にうれしかったのは、プログラミングコンテストで初めて全完*1したことでした。それはAtCoder Beginner Contest 039でのことでした。どちらかというと難易度の低い回だったため、全完者は多かったようです。とはいえ、私にとっては非常に喜ばしいことでした。たくさんの方々から「おめでとう」のリプライやいいねをいただき、ありがとうございました。

また、拙いながら作問を初めて行い、yukicoderにて「No.406 鴨等間隔の法則」および「No.407 鴨等素数間隔列の数え上げ」として出させていただきました(コメンタリー)。この出題経験により、いろいろと学ばせていただきました。ありがとうございました。

今年一年で、レーティングは以下のように変化しました。AtCoderでは、当初おおむね順調にレーティングが上昇していましたが、1600程度に収束してしまいました。また、CodefocesやTopCoder SRMでは、あまり参加できていないこともありますが、レーティングが伸び悩んでいます。特に、後者ではやや悲惨なことになっています。過去問演習等を最近あまり行っていなかったので、そろそろ本腰を入れるべきかもしれません。また、蟻本やTLE本を手に入れたいものです。

サイト 初期 最高値 2016年末
AtCoder 273 1629 1581
Codeforces 1384 1561 1507
TopCoder SRM 1127 1127 762

Haskellの練習のために競技プログラミングを始めたのですが、やがて必要に迫られてC++などのより高速な言語を学ぶようになりました。また、慣れ親しんできたPythonについても、より一層理解が深まりました。そうすると、それら以外のいろいろな言語に対しても興味がわくようになりました。今特に気になっているのは、D言語とF#です。ただ、あまり多くの言語に手を出してもどっちもつかずになりそうなので、気を付けたいものです。

SCP

雑にSCP紹介botをたまたま見つけたことで、SCP Foundation非公式日本語訳Wiki)にはまりました。このサイトは、自然法則を逸脱するような超常的物品・存在を「確保(Secure)・収容(Contain)・保護(Protect)」することを目的とするという架空の秘密組織「SCP財団」を舞台とした創作を集めたサイトです*2。創作の多くはSCPオブジェクト(上記の異常存在)に関する報告書と、小話(Tale)という形をとっています。本家は英語版ですが、日本支部(SCP財団)という形で日本独自の記事を集めたサイトも存在します。私が最初に出会ったSCPオブジェクトが何かは覚えていませんが、気に入っているものをいくつか挙げてみます。

本業

前年度までとは環境がガラッと変わりました。いろいろなことがありましたが、残り数か月、感謝の気持ちを忘れずに、自分なりに頑張っていきたいと思います。

むすび

だらだらと書きましたが、2016年はやはり自分にとって変化の年だったように思います。来年もよろしくお願いします。

*1:すべての問題でAccepted、すなわち正解という判定を得ること。

*2:参考:SCP財団とは - SCP Foundation 非公式日本語訳wiki