CodeforcesIsRuined's blog

By CodeforcesIsRuined, history, 9 years ago, In English

I am well aware that this post will get a lot of backlash due to the controversial topic I am going to write about. That is why I have opened this fake id. Sorry Mike.

You all know what is happening right now in Codeforces. All on a sudden, lots of changes have happened. Purple guys are considered rated in div2, div3 is introduced for cyan and lower guys. Then there is this lowering of yellow region down to 2100. Lot to absorb at once.

What surprised me the most is that all these things happened pretty abruptly. Some purple guy thought that they should be considered rated in div2 and then some agreed and opposed. The next thing we know is that Mike literally agreed to all the things the purple guy proposed without even considering the opposition of others. Looks like he was biased.

Two rounds have taken place, one div2 and the other is div3. Suddenly, people who barely reached blue are now more than mid blue! And people who were barely purple, are now mid purple or even more. Same is for yellow. This is ridiculous that you can be a 'master' only by solving 4 problems in div2! I have always regarded (and many other people, too) that being master in Codeforces is hard achieved thing in general. But now, you can reach master by competing with people way lower than your capability. This is even true for me. My color is something right now that I don't really deserve.

Then there is this issue of lowering the lower bound of yellow region. You do good enough in div2 being almost purple, and voila, you are now a master.

Let me give some adjectives to Mike's decision. This whole new atmosphere is ridiculous, outrageous and harmful for the community. Simply, this decision is bad. Codeforces is lowering its standards.

I know I have offended so many people by this post. And this will go down to the earth with negative votes. I am extremely sorry for that. But these thoughts had to be spoken out loud.

Thanks for reading. And thanks for ruining Codeforces.

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

| Write comment?
»
9 years ago, hide # |
← Rev. 2  
Vote: I like it +1 Vote: I do not like it

This is ridiculous that you can be a 'master' only by solving 4 problems in div2!

Can you really though? Most people who did that yesterday "solved" 5 problems and failed a tricky case on D. Getting to master by solving A and C on a div 1 contest was not unheard of. Moreover, it was generally possible to get to master by solving ABC consistently in div 1 which is not much more.

This whole new atmosphere is ridiculous, outrageous and harmful for the community. Simply, this decision is bad.

I think the decision deserves discussion, but frankly you do not make many arguments for your case. You give some reasons but you don't really explain what is so ridiculous, outrageous or harmful about it.

  • »
    »
    9 years ago, hide # ^ |
     
    Vote: I like it +102 Vote: I do not like it

    Actually solving A, B, C means that you're on grandmaster level (at least I got grandmaster by solving 3 or 4 problems in Div. 1). This is much harder than solving 4 problems in Div. 2 (usually if there is a seperate Div. 2 than D is easier than Div. 1B).

    • »
      »
      »
      9 years ago, hide # ^ |
       
      Vote: I like it -22 Vote: I do not like it

      I think that would make my point all the stronger. Solving 4 problems in Div 2 is more or less equivalent to solving 2 problems in Div 1.

  • »
    »
    9 years ago, hide # ^ |
     
    Vote: I like it +54 Vote: I do not like it

    but frankly you do not make many arguments for your case

    He did make arguments:

    • "Suddenly, people who barely reached blue are now more than mid blue! And people who were barely purple, are now mid purple or even more". By looking at the ratings of people in last contest you can see that what he said is true. I won't discuss on the how many problems part, because each round is different and such comparison is meaningless.

    • "The next thing we know is that Mike literally agreed to all the things the purple guy proposed without even considering the opposition of others". Yes, I don't understand why comments like this one and this one had no reply from Mike and were not discussed.

»
9 years ago, hide # |
← Rev. 3  
Vote: I like it +120 Vote: I do not like it

Like Mike said, I guess, million times, only practise will show how does this new system works in reality. I mean, It's been only one round, and you are already talking about an end of the platform. If things that you said is true, it will be obvious in a few round and they will change it back or try to improve. Can't see any problem here and why codeforces is destryoing anything trying something new. Not changing anything is actually the best way to destroy something.

»
9 years ago, hide # |
 
Vote: I like it +69 Vote: I do not like it

I actually agree with you. Thanks for posting this.

»
9 years ago, hide # |
 
Vote: I like it +35 Vote: I do not like it

Agreed but I guess solving 4 problems in Div. 2 isn't even necessary. Before the round yesterday, my rating was 2010 and then what I did was solve 3 out of 6 problems in a Div. 2 contest. Yeah, just first 3 problems and I didn't even do that fast enough. Still got +41 which is hilarious :D I think that if I solve those 3 problems faster next time, I might be able to become a master.

»
9 years ago, hide # |
 
Vote: I like it +36 Vote: I do not like it

Why not post from your real account?

  • »
    »
    9 years ago, hide # ^ |
    ← Rev. 2  
    Vote: I like it +56 Vote: I do not like it

    actually he wrote why in the first paragraph.

    • »
      »
      »
      9 years ago, hide # ^ |
       
      Vote: I like it +31 Vote: I do not like it

      Whoops. Then I'll change my question to the OP: do you believe what you're saying so little that you don't want to risk backlash over it?

    • »
      »
      »
      9 years ago, hide # ^ |
       
      Vote: I like it +19 Vote: I do not like it

      I wish that all the questions can answered simple like that :(

»
9 years ago, hide # |
 
Vote: I like it +7 Vote: I do not like it

Two or more years ago(can't remember) codeforces made an opposite change to the current one in the system, where master people became purple, and for sure there were lot of complaints.
I think codeforces is doing the right thing trying all the ways to improve this great community.
with my respect to your opinion.

»
9 years ago, hide # |
 
Vote: I like it +281 Vote: I do not like it

I carefully monitor the consequences of the changes. If they impose significant variations in the rating distribution, then we will adjust formulas or rules. No need to panic.

»
9 years ago, hide # |
 
Vote: I like it -39 Vote: I do not like it

I couldn't agree more ! We've already started to see the rating inflation ....

»
9 years ago, hide # |
 
Vote: I like it +187 Vote: I do not like it

I am well aware that this post will get a lot of backlash due to the controversial topic I am going to write about. That is why I have opened this fake id. Sorry Mike.

Aaaand you got a lot of upvotes ;_;

Should have posted from the main account if you so much care about people liking you.

You know what really destroys CF? People with multiple accounts. Those greedy bastards winning div2 rounds. Hope you aren't going to participate in some div3 contest. I'm watching you.

  • »
    »
    9 years ago, hide # ^ |
     
    Vote: I like it +173 Vote: I do not like it

    I'm really watching you.

    • »
      »
      »
      9 years ago, hide # ^ |
       
      Vote: I like it +81 Vote: I do not like it

      Me too

    • »
      »
      »
      9 years ago, hide # ^ |
       
      Vote: I like it 0 Vote: I do not like it

      Oh no! Now if he wants something he's going to cry and ask you for help because you're his only friend one of his only friends!

    • »
      »
      »
      8 years ago, hide # ^ |
       
      Vote: I like it +22 Vote: I do not like it

      Oh, anybody would believe you're really watching them. No need for evidence, your profile photo is enough.

  • »
    »
    9 years ago, hide # ^ |
     
    Vote: I like it +31 Vote: I do not like it

    Well, if you exclude new accounts (for example with less than 3 rated rounds) from rating calculation (so everyone gets rating as if new accounts are not in the final standings, and each of the new accounts gets rating as if only their new account was in the standings), this problem will easily be solved. This is equivalent to placement matches for ladder in multiplayer games.

    • »
      »
      »
      9 years ago, hide # ^ |
       
      Vote: I like it +3 Vote: I do not like it

      It makes competing less attractive for new users, while not eliminating the issue completely (one still can create a new account and just send any solution for problem A in 3 contests).

      • »
        »
        »
        »
        9 years ago, hide # ^ |
         
        Vote: I like it +16 Vote: I do not like it

        Why less attractive though? It doesn't even change much, considering that new users are a small part of standings (in usual rounds). I would expect it to affect rating change by maybe 3-10 points for everyone. But in a long run this helps against inflation.

        And yes, they can do that, but on the one hand it will be way more obvious what these people are doing, and on the other hand I believe for most of these guys it will be too long-term and not worth it, so the problem will be 95% solved.

        • »
          »
          »
          »
          »
          8 years ago, hide # ^ |
           
          Vote: I like it +27 Vote: I do not like it

          Less attractive because it won't be rated for them, obviously. Imagine you're entering a new platform, say atcoder, and instead of competing immediately you know that your first three contests won't count towards the rating. You're kind of competing unofficially. If it isn't less attractive, then why do we have the rating system at all? Fewer people would come to the platform.

          Also, as a new user in such a situation many (including me) would just want to get those three unrated contests as quickly as possible. Even if they can't participate in a round, they should submit something (even from an empty code from a phone). I would do that. Then, how would you distinguish that from the "more obvious" way people create second accounts then?

          • »
            »
            »
            »
            »
            »
            8 years ago, hide # ^ |
             
            Vote: I like it +14 Vote: I do not like it

            The best solution to this problem would be to establish a provisional rating, where the first three contests will count as rated for you, but not affect the pool of non-provisional participants. This way, users won't have the feeling of "I have to submit some random junk 3 times to get started", and it will also stop most of the rating inflation.

            • »
              »
              »
              »
              »
              »
              »
              8 years ago, hide # ^ |
               
              Vote: I like it 0 Vote: I do not like it

              Wouldn't it cause the rating inflation even more?

              • »
                »
                »
                »
                »
                »
                »
                »
                8 years ago, hide # ^ |
                 
                Vote: I like it +5 Vote: I do not like it

                As I heard, one of the causes of rating inflation is from lower rated people registering new accounts after failing their first rounds. I don't have statistics on that though.

                • »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  8 years ago, hide # ^ |
                   
                  Vote: I like it +5 Vote: I do not like it

                  Oh, that makes sense. I thought only about strong participants wanting to win a div2 round.

          • »
            »
            »
            »
            »
            »
            8 years ago, hide # ^ |
            ← Rev. 2  
            Vote: I like it +5 Vote: I do not like it

            Actually, I didn't mean that at all, but maybe I was a bit unclear.

            For new accounts the rating change should be calculated as if only their new account was in the standings along with all the older accounts (if they weren't getting rating at all it wouldn't be much of a solution).

    • »
      »
      »
      8 years ago, hide # ^ |
      ← Rev. 2  
      Vote: I like it +74 Vote: I do not like it

      Let me make the idea a bit more clear for everyone, since even reds are getting me wrong.

      Suppose 4 users ABCD are participating in the contest, and CD are new accounts. For A and B rating will be calculated as if only A and B are in the standings, for C it will be calculated as if ABC are in the standings, and for D as if ABD are in the standings.

      So everyone gets rating, and it's more or less the same amount of rating as with the current system (because new accounts are a much smaller portion of all accounts), but two problems are gone:

      1. This is what usually troubles people about fake accounts: if some red user registered fake account and stole the first place, the actual div2 first place still gets rating as if he is the winner.

      2. The starting rating is 1500. If 1500 is not the true middle, it will either cause inflation or deflation of ratings. For example if someone participates, fails, gets -200 and drops his account, he gives away 200 points of inflated rating into the system. If you exclude new users from calculations in the proposed way, new accounts will get to their true rating (more or less), and only then will start influencing the system.

      As farmersrice mentioned, it's usually called provisional rating, and it is successfully used in many rating systems.

  • »
    »
    9 years ago, hide # ^ |
     
    Vote: I like it +25 Vote: I do not like it

    Yeah, exactly

    Creating new account for each post/contest is much worse than posting what he/she considers to be "controversial"

  • »
    »
    8 years ago, hide # ^ |
    ← Rev. 2  
    Vote: I like it -27 Vote: I do not like it

    I think people realized that posting with fake account gets more upvotes

    What Codeforces really need is a button showing who voted up/down on what post. That way people can own what they vote.

»
8 years ago, hide # |
 
Vote: I like it +37 Vote: I do not like it

Case in point: allllekssssa

A very active user of the community who never crossed 2100 in the past 4+ years suddenly crosses 2250 (2268 to be exact) after the first Div 2 contest in the new rating system.

If this isn't proof of rating inflation, I don't know what is.

  • »
    »
    8 years ago, hide # ^ |
     
    Vote: I like it +41 Vote: I do not like it

    Yes, that jump seems quite big. But to be honest, allllekssssa had a pretty good contest, even beating most yellow and red people who participated unofficially. So the jump makes kinda sense.

    • »
      »
      »
      8 years ago, hide # ^ |
       
      Vote: I like it +29 Vote: I do not like it

      +1

      It was likely his best contest ever. A similar thing would happen if he did so good in a div1 contest. Also, his only top100 places in the recent past were #34 and #20, while now he got #2 competing with much stronger participants.

    • »
      »
      »
      8 years ago, hide # ^ |
       
      Vote: I like it +29 Vote: I do not like it

      I think that his good participation is just a notorious coincidence, in any div1 contest he couldn't beat a lot of red and yellow.

  • »
    »
    8 years ago, hide # ^ |
     
    Vote: I like it +44 Vote: I do not like it

    Any stats on how many people usually have unusual increase? I mean it's obviously unusual for each specific person, but may be not that unusual to have several people who have this increases.

    I mean chance to win a big prize in a lottery is not big, but nobody is surprised that there are winners

  • »
    »
    8 years ago, hide # ^ |
     
    Vote: I like it +60 Vote: I do not like it

    As I can not reply to all with one message, I will reply to root comment :)

    First it is interesting when people discussing about you, now I think I am super important person :D

    I am really happy I got second place and I think I deserved it on regular way — solved 5 tasks and had 3 hacks.

    About rating change, I have already said that for my opinion it is too much, but I didn't make that rating system — from my opinion with given performance I deserved 2200 rating not less not more. Also I never complain and it happened at least ten times that 50 coders from div 2 have same or even worse performance on last three tasks and I got -20 in div 1 and they got +100 and jump above me at leaderboard. Is that fair ?

    I want to answer on comments where it is written I didn't have any good contest in div 1 and I can not get good rank — I know you don't have any bad intention, hope you will see that I do not have too :)

    I didn't got too much good places in div 2 contests in last time, but also I didn't do a lot div 2 contests — I am nearly a year regular participant of div 1 rounds (I fell in div 2 for 3-4 contests at most). It is bad to say it is notorious coincidence that I got good place. I didn't have so good results in div 1, but several rounds I was in top 150 participants and that is master for sure. During univeristy I am not writing a lot of codes, I am not fast (it is also important for many div 1 rounds), but for sure I become much better programmer than before (when I had 1900 rating, I knew nothing and just was fast with solving super easy problems). Now I am slower with solving everything, but I can do much harder tasks. Also this is pretty much irrelevant, but I want to write results on my last 7-8 contests ( which I remember), and it wasn't only solving easy tasks as fast as you can (maybe once it was) :

    On Codeforces rounds:

    I got 119 in combinated round I got 357 in div 1 round ( my fourth task didin't pass because map is slower than one binary search, and I would got place 80 if I sorted array and binary searched it). I was in top 30 in one unofficial div 2 (I would be 3rd if I did it official). Last round I was second.

    On CodeChef contests (they are not so popular — but from my estimation on each it was around 15+ div 1 CF users, also some red contestant), I got places 4, 3 and 2.

    On last HackerEarth easy I was 10th — with same score as fourth on the list and last with that score.

    So it is not just lucky day, I had several good rounds in past months, I see my progress and I happy to see it :) I will not further explain my results(I know you think thanks God :D), but you should be sure that I will do every round when I am free (as always I will not save my rating or like many people start from third task and if I solve it in 1 hour I will submit other problems). Also it happened at 3-4 times that I know my solution is not good and I will not get good result ( first submit after 1 hour), but everytime when I started round I submited code. I want my rating shows my skills on right way. Now as only div 1 participant my rating will come on level which I deserve.

    Rating inflation will happen, you do not need to be so smart to see it, but also I think that codeforces should have smaller amount of only div 2 rounds (calendar should be like div 1 round, div 3 round, div 2 round, div 1 round, div 1 round and so on).

    • »
      »
      »
      8 years ago, hide # ^ |
       
      Vote: I like it 0 Vote: I do not like it

      "Rating inflation will happen, you do not need to be so smart to see it, but also I think that codeforces should have smaller amount of only div 2 rounds (calendar should be like div 1 round, div 3 round, div 2 round, div 1 round, div 1 round and so on)."

      allllekssssa, why so??? On what earth this is a logical statement?

  • »
    »
    8 years ago, hide # ^ |
     
    Vote: I like it -21 Vote: I do not like it

    Requesting haters like you to at least investigate the reason and validity of rating rise before hating. Thanks for reading.

  • »
    »
    8 years ago, hide # ^ |
     
    Vote: I like it +35 Vote: I do not like it

    Case in point: khanzhina, gabib97

    Two users that clearly were at the level of Expert and suddenly dropped down to Specialist after the same Div 2 contest as you mention.

    If this isn't proof of rating deflation, I don't know what is.

    Or maybe, if we have so strong proofs for both inflation and deflation, we must look at statistics instead of single examples?

    • »
      »
      »
      8 years ago, hide # ^ |
       
      Vote: I like it +23 Vote: I do not like it

      Losing 100 of your rating after having a bad contest is not something new. Reaching 2250 performing in a div2 contest is.

      • »
        »
        »
        »
        8 years ago, hide # ^ |
        ← Rev. 2  
        Vote: I like it +24 Vote: I do not like it

        But gaining 150 of rating isn't something new. It's only the cutoff that changed and makes this look weird.

        Edit: I just checked recent contests from before the change and it used to be very common that a few people hit 2050 after a Div 2 contest. Cutoff shifted by 200, so a few people reaching 2250 now is entirely normal.

        • »
          »
          »
          »
          »
          8 years ago, hide # ^ |
           
          Vote: I like it +7 Vote: I do not like it

          Yeah but the problem is that the div2 cutoff hasn't changed. So reaching 2250 means reaching 350 over the div1 lower bound. I seriously doubt that someone who is ranked top 5 in div2 deserves that rating.

          • »
            »
            »
            »
            »
            »
            8 years ago, hide # ^ |
             
            Vote: I like it +38 Vote: I do not like it

            That's a completely different story. I personally don't care about that, although I understand why someone would.

            My comment was meant only to point out how riddiculous is using a single data point to argue rating inflation.

»
8 years ago, hide # |
 
Vote: I like it +20 Vote: I do not like it

I just want to say that Div 3 contests were a fantastic idea. Even if you find that it causes fluctuating rating, I humbly request CodeForces to continue with Div 3 contests.

I always felt like I had a lot more knowledge that I was being allowed to show in a Div 2 contest, because the A and B that usually come can be solved by nearly anyone. It's good that the contest had 6 questions of increasing difficulty but enjoyable. It also taught me about time management. When you're a beginner you only use the first 30 minutes of the contest and after that it's impenetrable.

I feel Div 3 contests were good because —

  1. It allows beginners to show their knowledge.
  2. It teaches them time management.
  3. Provides motivation to continue, especially at the beginning.
  4. Teaches them important concepts. Often if you are presented with a problem that is slightly out of your reach, you're more likely to solve it if you've already done 4 problems that you're comfortable with, rather than if you just started with it.

If there is a problem with the ratings fluctuating, then please continue these contests unrated.

»
8 years ago, hide # |
 
Vote: I like it -32 Vote: I do not like it

Codeforces is dead. A lot of fake accounts, rating inflation and intentionally submitting same code to get unrated. And downvoting this comment for no reason.

»
8 years ago, hide # |
← Rev. 2  
Vote: I like it +20 Vote: I do not like it

Now it feels like purple is div.2 and 2100 is a new div.1 boundary. It's OK for me because I(and maybe most of the purple contestants) can barely solve 1-2 div.1 problems. Rating inflation increases the boundaries. P.S. MMR is just a number. Nobody cares.

»
8 years ago, hide # |
 
Vote: I like it +5 Vote: I do not like it

We need to see nice statistics like in adrien1018's "Some Statistics About CF Rating Changes" — http://codeforces.me/blog/entry/58383 , and like in DmitriyH's "Codeforces Round #238 Statistics" — http://codeforces.me/blog/entry/11176

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

I hadnt got like you div. 3 round or not, but i leave this here. Div. 3 rounds good at least because 0 — 1900 — its too big difference, and one tricky case on B or C for participiants like me can make his rating much lower, but now divs more divided and anybody in div.2 with good skills (for div. 2) but bad day can not to lose much rating. Sorry for any mistakes in my eng

»
8 years ago, hide # |
 
Vote: I like it -23 Vote: I do not like it

As for the fake accounts problem, I think "requiring invitaions from any current user for registration" can be a good option. Unless they create fake accounts to invite other fake accounts.

  • »
    »
    8 years ago, hide # ^ |
     
    Vote: I like it +35 Vote: I do not like it

    so what happens if you really don't know anyone who is doing cf? For instance for country like Malaysia where CP is not well known, it might be difficult to receive an invitation? I believe it would be difficult for me to get invitation when I started. Also, they can use their main account to invite their own fake account? I don't see how this will work at all.

    • »
      »
      »
      8 years ago, hide # ^ |
      ← Rev. 2  
      Vote: I like it 0 Vote: I do not like it

      You are right. This introduces more problems but at least this way the owners of fake id's can be tracked(?). So that they can be excluded from actual standings. My point is, a stronger registration/verification system should discourage cheaters.

      • »
        »
        »
        »
        8 years ago, hide # ^ |
         
        Vote: I like it +13 Vote: I do not like it

        owners of fake id's can be tracked

        I can borrow my inactive friends' accounts, use these accounts to send invitation to my fake accounts. Then I will have many fake accounts and my main account is not affected.

      • »
        »
        »
        »
        8 years ago, hide # ^ |
        ← Rev. 2  
        Vote: I like it 0 Vote: I do not like it

        There are many existing solutions for stronger registration, such as using mobile number or identification number or facebook account etc.

»
8 years ago, hide # |
← Rev. 5  
Vote: I like it +17 Vote: I do not like it

I think the biggest pain point is the rating inflation, which mainly caused by two factors (observation made from the last Div 3 contest):

  • Number of participants for Div 3 are much larger compared with others, thus winning in this contest will give you a lot of extra points.

  • The difficulty of those tasks could not differentiate between coders, thus only speed and a little bit of carefulness matter.

So, here are some suggestions, (one may be better than others, but I just throw them all on the table)

  • We could mitigate the problem by introducing a better set of problems (which should be improved over times after enough information have been collected, so the difficulty could be properly set).

  • Adjust some formula so that the weight for Div 3 will be smaller than Div 2 then Div 1.

  • Have a certain limitation for the number of participants