Q&A

Q1: 「内部レートによる補正値」はコンテストのたびに更新していますか?

A1: いいえ、2023 年 9 月以降は、原則として毎月 1 日の 16 時頃に更新しています。

Q2: 「補正値算出に使用したユーザー」はどのように選んでいますか?

A2: 更新時点で (誕生年が 5 の倍数または補正後のレーティングが 2400 以上) かつ Rated での参加数が 30 回以上のアクティブ参加者を選んでいます。(高レート帯は人数が少ないので補正精度を高めるために全員を選び、高レート帯以外は属性が偏らないようにしながら一部を抽出したい、という気持ちです。)

Q3: 平均順位率を求める際に、Rated 参加の結果のみを対象としているのはなぜですか?

A3: 例えば橙色以上の参加者は、(特に 6 問以下の頃の) ABC では比較的短時間で全問正解していることが多く、この場合 Unrated 参加の結果を含めると普段 ABC に参加している人ほど早く解くタイプと判定されてしまう可能性があります。このようなケースを防ぐために、Rated 参加の結果のみを対象としています。

Q4: バグ・記載ミス・誤字脱字等があります。または、スコアやプロットが正常に表示されません。

A4: 申し訳ございません。X (Twitter) まで連絡をいただけると嬉しいです。

Q5: ソースコードは公開していますか?

A5: 現在、公開していません。(GitHub のプライベートリポジトリで管理しています。)

Q6: リポジトリにはどのようなデータを保存していますか?

A6: 各コンテストにおける「A 位から B 位までの得点が C 点であった」というデータ (これを「順位データ」と呼んでいます)・補正値算出に使用したユーザーの (内部レート, 平均順位率) を保存しています。
順位表そのもの・各ユーザーのコンテスト成績表・各ユーザーの AtCoder ID は保存していません。

Q7: 順位データの自動更新はどのような方法で行っていますか?

A7: GitHub Actions で行っています。

Q8: 補正値算出に使用したユーザーの (内部レート, 平均順位率) からどのようにして補正値ラインを作成していますか?

A8: 最小二乗法による 10 次式近似で作成しています。

Q9: 「Too Many Requests」と表示されます。

A9: 1 分程待ってから更新してみてください。AtCoder および当サイトへの DoS 攻撃等の対策として、同一 IP アドレスからのアクセスを最大 50 回/分に制限しています。ページの更新や OK ボタンのクリック等がアクセスとしてカウントされます。

Q10: AtCoder を退会した (削除した) ID や、変更前の ID でも判定ができてしまいます。

A10: 「https://atcoder.jp/users/(ここに ID が入る)/history/json」に成績データが残っている場合は、判定できてしまうことがあります。

戻る