Блог пользователя ha1vanka

Автор ha1vanka, 10 лет назад, По-английски

Hello everyone!

I have noticed some strange rating changes (at least strange for me) in the recent Codeforces Round 261 (Div. 2).

These are the top 5 (Div 2) users + their old and new rating:

  1. vanhanh.pham — 1396 — 1761
  2. ElemeNtLz — 1556 — 1772
  3. MLboy — 1500 (unrated) — 1805
  4. mssjtxwd — 1686 — 1795
  5. yyfkiller3 — 1500 (unrated) — 1805

ElemeNtLz had better old rating than yyfkiller3 — 1556 > 1500 (unrated)

ElemeNtLz placed better than yyfkiller3 — 2nd is better than 5th

But yyfkiller3 ended up with higher rating than ElemeNtLz. I think that is strange because ElemeNtLz did better overall and had higher rating, but ended up with less than yyfkiller3. — 1772 < 1805

Same goes for these pairs (and probably more):

ElemeNtLzMLboy

mssjtxwdyyfkiller3

But this is just my opinion and if you have your own (that differs mine), please share it.

PS I do not know these users and I am not trying to defend or offend them.

  • Проголосовать: нравится
  • +36
  • Проголосовать: не нравится

»
10 лет назад, # |
  Проголосовать: нравится +25 Проголосовать: не нравится

I think this is due to the way rating is calculated. It's an ELO-like system, so for every user something like his expected place is calculated and then if he does better than expected, his rating increases. Now ElemeNtLz has higher rating, so his expected place is higher, so when he gets second place he does better than the expected place but not MUCH better. While as far as I remember, when a user is competing for a first time his expected place is the participants/2-th place, so yyfkiller3 did MUCH better than his expected place. Therefore according to the ELO-like system he has much higher improvement.

I'm not saying it's fair though, that's a matter of opinion. I remember sometime ago an unrated guy participated in memsql cup round 2 as his first round and he got a little bit behind the half, and got his rating decreased. While blue competitors in the lower half got rating increase, simply because in the competition there were a lot of red/orange coders so saying an unrated guy is expected to be placed at position participants/2 turned out to be unfair, but that's how the system works.

  • »
    »
    10 лет назад, # ^ |
      Проголосовать: нравится +27 Проголосовать: не нравится

    That's a somewhat complicated way to say "it works differently for people who are unrated".

»
10 лет назад, # |
  Проголосовать: нравится +24 Проголосовать: не нравится

This is a top secret code that codeforces uses to calculate the rating.

class RatingCalculator {
	Random random;
	int numberOfParticipants;
	public RatingCalculator(int n) {
		random = new Random();
		Thread.sleep(random.nextInt(22831337));
		numberOfParticipants = n;
	}
	
	public int calculateNewRating(int oldRating, int place) {
		double p = 0.5 - (place - 0.5) / numberOfParticipants;
		return oldRating + (int) (322 * (0.7 * p + 0.3 * random.nextGaussian()));
	}
}
»
10 лет назад, # |
  Проголосовать: нравится +10 Проголосовать: не нравится

I had this same issue with codeforces round #FF. I placed 120th officially and my rating change was 1522 -> 1689. A couple of other people who placed below me had either higher or lower ratings and they still became candidate master (rating >= 1700). Just my opinion that this rating system is a little unfair to those with not too high and not too low ratings.

»
10 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

I think rating changes also depend on the number of participated contest (something similar to Hackerrank 's system).

  • »
    »
    10 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Don't think so. Only first contest is special:) From my experience, if I am ranked close to some other guy with almost same rating, then we will both get almost same rating change — and it does not matter, did he participated in 100 contests before or only in 10.

»
10 лет назад, # |
  Проголосовать: нравится +2 Проголосовать: не нравится

RATING it is.