From a9a7b3a45140cefbbf09c9675fbdd0261f9148b3 Mon Sep 17 00:00:00 2001 From: undefined Date: Wed, 11 May 2022 19:42:36 +0800 Subject: [PATCH] core: reduce default integrate cache size --- packages/hydrooj/src/lib/difficulty.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/hydrooj/src/lib/difficulty.ts b/packages/hydrooj/src/lib/difficulty.ts index c168f47c1..87d924d34 100644 --- a/packages/hydrooj/src/lib/difficulty.ts +++ b/packages/hydrooj/src/lib/difficulty.ts @@ -6,7 +6,7 @@ const _CACHE_INFO = { function _LOGP(x: number) { const sqrtPi = 2.506628274631; // Sqrt[Pi] - return (2 * Math.exp(-1.0 * (Math.log(x) ** 2) * 2)) / x / sqrtPi; + return (2 * Math.exp(-2.0 * (Math.log(x) ** 2))) / x / sqrtPi; } function _intergrateEnsureCache(y: number) { @@ -27,7 +27,7 @@ function _intergrateEnsureCache(y: number) { return _CACHE_INFO; } -_intergrateEnsureCache(1000000); +_intergrateEnsureCache(10000); function _integrate(y: number) { _intergrateEnsureCache(y); @@ -38,7 +38,7 @@ function difficultyAlgorithm(nSubmit: number, nAccept: number) { if (!nSubmit) return null; const s = _integrate(nSubmit); const acRate = nAccept / nSubmit; - const ans = Math.round(10.0 - 1.30 * s * 10.0 * acRate); + const ans = Math.round(10 - 13 * s * acRate); return Math.max(ans, 1); }