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

Автор catalystgma, история, 5 лет назад, По-английски

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://codeforces.me/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

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

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

What is FST?

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

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 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

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

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

      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 лет назад, # |
  Проголосовать: нравится +124 Проголосовать: не нравится

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 лет назад, # |
  Проголосовать: нравится +4 Проголосовать: не нравится

How did you practice thus far?

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

Thanks for that A2OJ ladder advice

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

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 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

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

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

      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 лет назад, # ^ |
          Проголосовать: нравится +1 Проголосовать: не нравится

        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 лет назад, # ^ |
          Проголосовать: нравится +2 Проголосовать: не нравится

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

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

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 лет назад, # ^ |
      Проголосовать: нравится +12 Проголосовать: не нравится

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

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

      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 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

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

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

          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 лет назад, # ^ |
            Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

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

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

              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 лет назад, # ^ |
          Проголосовать: нравится +27 Проголосовать: не нравится

        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 лет назад, # ^ |
          Проголосовать: нравится +3 Проголосовать: не нравится

        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 лет назад, # ^ |
            Проголосовать: нравится +4 Проголосовать: не нравится

          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 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится

            What about ICPC?

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

              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 лет назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится

    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 лет назад, # ^ |
        Проголосовать: нравится +14 Проголосовать: не нравится

      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://codeforces.me/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 лет назад, # |
Rev. 2   Проголосовать: нравится +3 Проголосовать: не нравится

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 лет назад, # |
  Проголосовать: нравится +6 Проголосовать: не нравится

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 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится +3 Проголосовать: не нравится

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

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

      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 лет назад, # ^ |
          Проголосовать: нравится +4 Проголосовать: не нравится

        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 лет назад, # ^ |
      Проголосовать: нравится +4 Проголосовать: не нравится

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

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

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 лет назад, # |
  Проголосовать: нравится +10 Проголосовать: не нравится

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 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

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

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

      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 лет назад, # |
  Проголосовать: нравится +4 Проголосовать: не нравится

Solution: Stop overthinking!

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

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.