ac-predictor

コンテスト中にAtCoderのパフォーマンスを予測します

Autor
keymoon
Dnevne instalacije
25
Ukupnih instalacija
16.339
Ocjene
16 1 0
Verzija
2.0.5
Stvoreno
01.07.2018.
Ažurirano
24.09.2023.
Licenza
MIT
Primjenjuje se

おことわり

外部との通信について

このスクリプトは、外部のサーバーと通信を行っています。通信は以下の用途のみで使用しております。

このデータについての詳細や、外部から取得する必要性については詳細をお読みください。データの取得のみを行っているため、これによってアカウント情報や提出等のデータが送信されることはありません。

詳細 技術的な詳細(2020 年 12 月現在)は、ac-predictor を支える技術 - Qiitaにて公開しています。そのうち外部との通信に関連する部分について抜粋し、以下に概要を記します。

スクリプトが外部サイトと通信する必要性について

パフォーマンス予測のためには、参加者全員の過去パフォーマンスから計算される APerf と呼ばれる値が必要になります。
この値を各利用者個別で取得する場合、それぞれが参加者全員分(=10000回ほど)のリクエストをすることとなります。 負荷の問題等も鑑み、そのリクエストと APerf の計算を一括で代行した後、それを配信するという形式を採用しています。

APerf について

APerf とはパフォーマンス計算にて用いられる特殊なレートで、過去のパフォーマンスの加重平均によって求められます。詳しくはAtCoderのレート計算式 - Qiitaを参照してください。(この記事で「内部レート」と呼ばれているものです)

ソースコードについて

このスクリプトは 1000 行程度のコードで構成されています。これはツールを用いて複数ファイルをまとめたもので、元々は別のファイルに分かれていたものです。 スクリプトの内容を確認したい場合はこちらのバンドル前ソースを読むことをお勧めします。バージョンアップのコミットの時点で yarn bundle を実行することによって、同一のスクリプトが発行できることが確認できるはずです。

機能説明

Predictor

順位表ページに各参加者のパフォーマンスとレートを表示する行を追加します。

Estimator

現在の自分が特定のレートになるための値、特定のパフォを取ったときのレートを表示します。機能は「入替」ボタンによってトグル可能です。

Issueは気軽にTwitter(@kymn_)等で報告して頂くか、GitHubに投げていただけると嬉しいです。