ac-predictor

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

Skapare
keymoon
Dagliga installationer
26
Totala installationer
16 340
Betyg
16 1 0
Version
2.0.5
Skapad
2018-07-01
Uppdaterad
2023-09-24
Licens
MIT
Gäller för

おことわり

外部との通信について

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

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

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

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

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

APerf について

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

ソースコードについて

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

機能説明

Predictor

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

Estimator

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

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