catalystgma's blog

By catalystgma, history, 5 years ago, In English

Last Sunday I was close to 1900, so I participated in the educational round. The problems were ok for me, but I made a stupid mistake on C (did brute force for intervals lower than some amount) and got FST (felt dizzy? Idk).

My rating prediction went from +19 to -50.

Today I said “ok, maybe I was nervous, I should participate”. Did awfully, -50, went through a lot of WAs to get AC on A/B/C. D was very awkward for me. My solutions look like spaghetti.

I suck on greedy/constructive problems and combining both results in a disaster. I will take a 2 month break, but I need to know what I have to do in order to improve.

Some DIV2s are great for me, while others make me question myself.

1) Should I solve greedy/constructive/math from here? Did some, not all https://mirror.codeforces.com/blog/entry/54526#comment-385354

2) Should I finish the 1800-1899 A2OJ ladder? Did almost half of it, learnt many things, but they were mainly related to DP/DS/Trees/Graphs, things I am relatively ok on (I don’t even have the rating for it now LOL)

3) A lot of virtual contests?

4) Do virtual contests/participate only in Educational rounds, because they have the same writers, so the topics will be generally the same?

5) ???

TY

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

| Write comment?
»
5 years ago, # |
  Vote: I like it +18 Vote: I do not like it

What is FST?

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

I'm around your rating, but if I could offer you some suggestions you seem overly concerned with your rating. If you're nervous before the contest you won't do as well.

If you focus on learning, your rating will probably go up. If you look at even the best people there's some variability in their graphs. You could have just gotten unlucky these two rounds; two contests is a pretty small sample size.

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

    Thanks, I do get nervous before a contest and I know it affects my performance. A break from CP will help I think

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

      It happened with me and I suggest getting used to giving contest by regularly participating can help. As zucker42 said two contests is a pretty small sample size.

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

The probability of screwing up is inversely proportional to the amount of rating you need to get to the next Rating range.(Look at my Graph for example)

The trick is to not care about ratings altogether, or at least during contest. Really helps you keep your mind clear.

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

How did you practice thus far?

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

Thanks for that A2OJ ladder advice

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

From a statistical point of view your rating will decrease in every second contest. If this makes you feel bad you should think about it.

You experience the fact that the expectation of allways increase does not work well.

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

    Can you explain why is it statistical that the rating should decrease every second contest?

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

      Well, I cant in a scientific sense. But if you look at rating graphs you will notice the main direction of movement is horizontal.

      Everybody comes soon to a point where stepping up goes in very small steps. As a nice example see the graph of eugalt or tourist

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

        Don't think eugalt really give the contest to participate and do the question at the earliest like us. All he tries is to make the code as short as he can.

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

        Wow! Never in my wildest dreams could I imagine being mentioned along with tourist! orz

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

In addition to advice already offered here, don't open ranklist during contest. You'll focus more on solving problems than refreshing the scoreboard every minute to see how your friends are doing. I know there are some rounds in which this can be counter-productive, i.e. E is easier than D but since you never opened the ranklist you never realized it, I'd say if you feel stuck on a problem for some time with no clue you should anyway move on. But this doesn't happen too often, and not seeing how other people are doing and then creating pressure on yourself, you'll focus on solving the problems at hand

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

    You could open the problemset page instead of the ranklist which shows the number of people who have solved each problem

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

      That's true, but if you're overly conscious of your performance, you start calculating in your head — "300 people have solved D, I need to solve it quickly" and it can create similar pressure in your head. Not sure if it's relatable but when I used to be in div2 I was panicking about my performance in each contest.

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

        The same is happening with me. How do you overcome that?

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

          First off, realize why you're conscious of your performance. Is it because you're afraid that you're not getting better and have hit a plateau, or is it because you're embarassed someone will call it out, probably one of your friends? Most likely it's the latter.

          Solution is simple — get better friends. People who put you down are NOT your friends.

          Most importantly, always remember why you do competitive programming. If you do it for fun and learning, none of your performances should matter. They will automatically get better as you learn from your mistakes in past contests.

          If you do it for interview prep, again none of your performances matter. No company gives a shit about your rating. It's just how you perform in their algo rounds. If you're doing it for interviews, you'll find better websites than codeforces anyway, like interviewbit or geeksforgeeks.

          I'm just trying to say either way, don't care about your performances. It makes you nervous for no reason, because in the end they don't really matter. Remember that cp is a sport and you do it for fun and learning

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

            No it's because when I practice between contests and I expect to perform better but then the results don't show.

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

              That might be a different problem. I see you've been at it for quite a few contests, so it's one of two: Either you're not solving enough problems, or you're not solving hard enough problems.

              I know it isn't what you'd like to hear, but most likely it's true. Let me give you a simple test — https://www.hackerearth.com/practice/notes/getting-started-with-the-sport-of-programming/

              This blog has basics of competitive programming and a lot of linked problems from various online judges on basic concepts. There's no way you can solve all of these and be anything less than expert on average.

              Google for the topics mentioned, read tutorials and solve problems. You get stuck, google for solutions, ask your peers, and really understand solutions well and get them accepted. Let me know after completing this if you still feel no improvement.

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

        I can relate. It does to happens with me. Now I open "Complete problemset" page and look at leaderboard after ~1hr when I'm confident of a good performance.

        When I was ~1900 and in div1 I often solved 1A very fast and then look at predicted rating changes. Used to conclude I will get a big delta without 1B.
        End of the day — Spend rest time just looking at no of ACs on 1B instead of trying to solve them.

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

        What do you do for a Codechef contests(rated or external), where problems are randomly shuffled? Wouldn't you require to know easiest unsolved problem through problem list page?

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

          Haha good question — I don't need to do this anymore. But if you go back when I was in my 1st-2nd yr or so, you'll find I didn't actually do a lot of codechef. I spent my time those yrs on project euler and spoj, I used to rarely participate in competitions

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

            What about ICPC?

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

              Well by the time we started participating in ICPC we were good and confident enough to not worry about this. But when we did feel like we're not doing well in ICPC, we tried to avoid opening the ranklist before freeze, for the same reason — you want to focus on solving more than comparing who solved what.

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

    That sounds like yet another counterproductive workaround for "I care about my rating too much" problem.

    What you are suggesting is to take an action that is going to lead to a worse performance (not using standings to get information that helps you to solve problems), while ignoring the underlying issue of being worried about random number on random site.

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

      That's a good point.

      Caring about a random number on a random website is kinda normal until you have something better in your life (I for e.g. don't care right now as I have a full time job and a lot of stuff to learn). Most of active users on codeforces are college students. Where I come from, colleges only focus on rote learning, and exams etc. are aligned towards that only. So I can't say find something better as there's not a lot better to do in the first place, because not everyone might be interested in research, open source contributions, etc.

      What I do try to highlight though is why none of our performances on any coding platform matter. Please see https://mirror.codeforces.com/blog/entry/76779?#comment-614443

      Having said that, I'd love to hear your perspective on how to combat the underlying issue of being worried of rating.

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

I also felt like this, so i have created one private mashup for me(of only greedy + constructive).
If you want to do virtual of that contest, then dm me. I will add you.

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

I was 3 points short from 1900. Then I fell. Hard! It was a sucky contest for me, took 30 minutes in Div2 A. Failed a constructive problem.

After that I am broke, I am not practicing, I am de-motivated and so I gave up on Div 2D in contests. During the contest, I constantly feel "I can't do this".

I am not sure what to do. Thanks for posting this, the replies help me too.

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

    You might feel good if you check out my graph :)
    (fell from 1893 to 1797)

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

      Interesting, I saw that you have not solved many problems in CF (at least in the account you are using now). How did you practice?

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

        Well I have a codechef account(same handle name) where I started CP, apart from that I practiced some problems on atcoder as well. I have also tried some problems from google kickstart rounds.

        Rest I would say many times I just either solve the problem in my head and not implement it(I guess that's me being lazy and needs to be fixed) or read the editorial and prove it's correctness to myself and move on.

        and yes I did some leetcode, interviewbit and gfg for interview prep which ofcourse I know is not competitive programming.

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

    Do your best until the very end. I think it's the most important rule in every competition.

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

What are you gonna do with ratings, that is elaborate some positive points for gaining more rates? Unfortunately I was not able to find after searching the same question with me and also on the google.

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

You might want to join me for practicing and taking virtual contests, i usually take one every day and solve up the contest, it would for sure help you improve.

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

    I may sound funny asking this but does taking a virtual contest on a daily basis really help?

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

      It does work if you solve up the contests as well, solving harder problems than your rating would help you get better, also taking part in virtual contests would make you more experience on taking part in official contests, and how you should deal with problems in a contest and etc.

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

        Yes thank you for the reply. Though I have been solving harder questions against my rating for a while now.

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

Solution: Stop overthinking!

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

Solution to your problem: your rating is a random number on random site, and pretty much nobody cares about it.

At the same time you care about it too much — this is what you need to solve, not the problem of how to increase the number.

If your goal is to become better competitive programmer, you should see that rating as a lousy indicator of your performance, not as a single key metric that you need to gamble somehow, e.g. by only participating in contests that you are already good at, which sounds like an opposite of how to actually improve.

If you goal is to have fun and get the most enjoyment from the time you put into competitive programming, dealing with some stuff that upsets you every second round is not a great way to maximize the enjoyment either.