【マルチデバイスチーム ブログリレー4日目】
こんにちは、エムスリーエンジニアリンググループ マルチデバイスチームの藤原です。
業務ではiOS/Androidのネイティブアプリ、またはそれに関係するサーバサイドアプリケーションの開発をしたり、たまにインフラを触ったりしています。
今回は私の趣味である競技プログラミングに関する話をします。 競技プログラミングの話といっても焦点を当てるのは問題を解くためのアルゴリズムの話ではなく、タイトルにある通りレーティングシステムの話です。 マルチデバイスチームのブログリレーの記事ですが、チームの活動とは無関係です。また、弊社採用プロセスで行なっているコーディングテストとも全く関係ありません。完全趣味の話です。
競技プログラミングのコンテストを開催している各サービスではユーザの強さを数値で表すレーティングシステムを採用していることが多いです。 その数値はコンテストの結果が良いと上がり悪いと下がるという性質は同じですが、アルゴリズムの細かいところは実はサービスごとに違っています。
では、どのような違いがあるのか 図解 して比較してみましょう!
図でざっくり理解することを目的としているため、この記事では細かい数式は扱いません。 また、コンテスト初参加となる場合の初期値や例外的な微調整のための計算についても触れません。あくまでざっくり理解して比較してみるのが目的です。
本題に入る前に余談ですが、ブログリレー4日目の1月19日が私の誕生日ということで、本日が私の担当になるようチーム内で調整していただきました。 もしよろしければブクマやシェアなどしていただけると嬉しいです(笑。
(zamojojo [CC BY-SA 2.0], ウィキメディア・コモンズより)
続きを読む