レギュレーション
HACKB の評価方法、提出ステータス、ジャッジサーバーの環境、採点ルールについて説明します。コンテストに参加する前にひととおり目を通してください。
スコアリング
ランキングは問題ごとに ACとなった提出のスコアを0-100 に正規化したスコアの合計値で決まります。
1. 提出スコア (raw)
提出 1 件のスコアは評価モードごとに次のように定義されます。raw スコアは「小さいほど良い」方向の指標で、問題内ランキングはこの値で直接ソートします。コンテストランキングではこの値を 0-100 に正規化します (後述)。
| 評価モード | raw スコアの定義 | 方向 |
|---|---|---|
| 関数最適化モード | solve 実行中の evaluate(x) で観測された y の最小値 | 小さいほど良い |
Accepted (AC) 以外の終端ステータス (WA / RTE / TLE / MLE / IS / IE) はランキング集計の対象外です。これらの提出ではスコアが算出されません。
2. 問題内ランキング
ある問題でのユーザーの順位は、そのユーザーが同一問題に対して提出した全 Accepted 提出の中で最良 (最小) の raw スコアで決まります。複数の Accepted 提出があってもベストスコア 1 件のみがランキングに反映されます。
計算例
Optimization 問題に対する架空のサンプルです。ユーザーごとに複数の Accepted 提出があり、それぞれ異なる観測最小値 (= raw スコア) を出した場合の順位を示します。
| ユーザー | 提出スコア (Accepted のみ) | ベストスコア | 順位 |
|---|---|---|---|
| User A | 0.85, 0.92, 0.78 | 0.78 | #1 |
| User B | 0.82, 0.79 | 0.79 | #2 |
| User C | 0.81 | 0.81 | #3 |
3. 同点の取扱い (タイブレーク)
ベストスコアが完全一致した場合、より古い提出 (先にそのスコアに到達した提出) を上位とします。コンテストランキングでも同様で、合計スコアと提出問題数が完全に同じユーザーが複数いる場合は、達成日時 (各ユーザーの per-problem ベスト提出のうち最新の時刻) が早いユーザーを上位とします。
4. 正規化スコア
コンテスト全体での順位を出すために問題ごとの raw スコアを 0-100 の正規化スコアに変換します。問題ごとに「同コンテスト内でその時点で観測されている最良スコア (running best)」を基準として相対化します。
算出方法
eps = max(1.0, (worst − best) / 100)
normalized_score = 100 × (best + eps) / (raw_score + eps) (前提: best ≥ 0)best / worst は同コンテスト内の running best / worst (= 全ユーザーの当該問題における raw_score の最小値 / 最大値)、raw_score は自身のスコアです。シフト項 eps は best = 0 の問題を扱うため導入されています。
running best 方式について
best と worst はコンテスト中の提出状況に応じて動的に変化します。誰かが新しい最良スコアを出すと、その問題に対する全ユーザーの正規化スコアが再計算されるため、自身の表示スコアがコンテスト中に下がる場合があります。
5. コンテストランキング
コンテストの順位は、各ユーザーの正規化スコアの合計 (= 0 〜 100 × 問題数) の降順で決まります。問題ごとの配点は均一で、追加の重み付けは行いません。同点時のタイブレークは、より多くの問題にAC提出しているユーザーを優先し、それも同じなら達成日時が早いユーザーを優先します。
計算例
3 問構成のコンテストでの架空のサンプルです。各セルは「raw スコア → 正規化スコア」を示します。User A は問題 3 未提出、User C は問題 2 未提出。正規化により全問題に挑戦している User B が首位、未提出を抱える A と C が下位となります。
| ユーザー | 問題 1 | 問題 2 | 問題 3 | 合計 | 順位 |
|---|---|---|---|---|---|
| User B | 0.8596.2pt | 0.40100.0pt | 1.10100.0pt | 296.2pt | #1 |
| User A | 0.78100.0pt | 0.5093.3pt | 未提出 | 193.3pt | #2 |
| User C | 0.8198.3pt | 未提出 | 1.4585.7pt | 184.0pt | #3 |