Closed yanrs17 closed 2 years ago
Maybe not now? The backend logic is in a large python file and I may have no time to refactor the code.
The calculation function is indeed not that complicated. For a person with rating r
and a problem with rating x
(it is what we should evaluate), the probability of the person finishing the problem is 1/(1+10^((x-r)/400))
based on Elo rating system. You can guess x
by maximizing the likelihood function (i.e. the multiplication of several 1/(1+10^((x-r)/400))
entries and 1 - 1/(1+10^((x-r)/400))
entries).
So is it possible to calculate and add 1st-62nd contest ratings, if not too complicated? (I know they use different APIs.) That is my main reason to ask this. It is a pity this extremely useful website does not show the ratings for those problems. Thanks!
It is not complicated to calculate the previous contest, but the results will be completely biased. For the early contests, there are only few participants with very low quality data, so it will affect the credibility of the whole scoreboard. You can randomly click into an early contest and take a look at it, given the fact that in recent contests there are >10000 participants.
Just think of the first contest in which all the participants are of the basic rating 1500, thus all the problems will result in a 1500 rating after calculation. In the code, I filter out the users who have participated in less than 5 contests, because their rating is not converged (thus not accurate).
Thanks!
So we can calculate other contests ourselves? (Like 1st-62nd leetcode weekly contests, or other online contests). Thanks!