Please subscribe to the official Codeforces channel in Telegram via the link https://t.me/codeforces_official. ×

ellr's blog

By ellr, 2 years ago, translation, In English

I'm glad I became an expert, but i dont understand why my rating increased last div3 round. I had 1598 rating and finished ~600th. I was sure my rating would fall. Post about rating system says that my rating will increase if I place higher than expected. Wasn't my expected place ~1? (it was div3 (only <1600))

Maybe i dont understand math part of post, so can somebody tell my how rating changes actually works, please?

  • Vote: I like it
  • +1
  • Vote: I do not like it

»
2 years ago, # |
  Vote: I like it -7 Vote: I do not like it

By that logic, a person with a rating of 1599 could never gain rating from a div 3 contest, even if they placed first place.

I think the real rating calculation is a bit more difficult. It depends on the number of people who solved the problem, as well as the problem rating. A person who has a rating of X has a 50% chance of solving a problem with rating X during a live contest. Of course, this is just an assumption.

»
2 years ago, # |
Rev. 2   Vote: I like it +16 Vote: I do not like it

If your place < seed your rating will increase, and if your place > seed your place will decrease. Also the reason why your seed is not 1 because users with lower rating can still beat you.

  • »
    »
    2 years ago, # ^ |
      Vote: I like it +15 Vote: I do not like it

    So, 1599 person will have biggest seed, but it will much lower 1. Thanks

»
2 years ago, # |
  Vote: I like it +4 Vote: I do not like it

For newer accounts it will take 6 contests before their displayed rating will actually equal their rating used in calculations. Let's call these displayed rating (DR) for the rating that is actually seen, and actual rating (AR) for the rating used in calculations.

For all new accounts, AR = 1400 and DR = 0. But as the user completes more contests, the DR is increased until after 6 contests, AR = DR. The exact amount DR is increased by after each contest, as well as a more detailed explanation behind AR and DR is found here: (https://codeforces.com/blog/entry/77890)

In every contest that isn't Division 1, there will usually be accounts with low rating that show up at the top of the leaderboard. If you click on their profiles they will likely have very few contests completed, which would mean that their AR is much higher than their DR. These accounts are always present to some extent in most contests which is why your seed isn't #1 even though you are very close to 1600; DR is used for which contests you are allowed to enter, but AR is used for seed calculation.

The rating system also functions somewhat like an ELO-model, so the rating gain you received from outranking 14900 other people likely outweighs the rating you would lose from 600 people outranking you.

»
2 years ago, # |
  Vote: I like it +6 Vote: I do not like it

https://codeforces.com/blog/entry/20762?locale=ru__ I recommend you reading this blog, to understand what is expected place and how it is calculated.

When you've already read, think, if your rating is 1598(let's say 1600), there are around 5k of people with 1400 in div3 (if not more), so from each of them your expected probability to get higher rank than them will be, according to formula,

1 / ( 1 + 10^( (1600-1400)/400 ) ) ≈ 1/4 which is 0,25

Now recalling that your expected place is sum over all probabilities, imagine that only from 1400 rated people your expected place is 5000*0.25 ≈ 1250. Also add here around 100 people with rating near 1600, and a whole lot of pupil-newbies

Just this system is a bit inflated because of all those alts, so actual expected for an expert is around top 1000 (+-200, depending on contest)

»
8 months ago, # |
  Vote: I like it 0 Vote: I do not like it

currently in div3 contest,i got a rating of 4953 despite submitting first 3 questions in 1:15 mins and some other guy submitting the same 3 questions in 1:30 mins got better ranking than me like around 4200. Can someone explain me for the sake of understanding that how it works?