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

Автор SHZhang, история, 4 года назад, По-английски

This weekend, I lost 115 rating in Codeforces Global Round 9, ranking 3024 and only solving problems A, B, and D (and not quickly). However, only a day after the contest, I have already upsolved C, E, G, and even H (unfortunately, not F), without much outside help.

The main reason I failed so badly was because after solving B (deciding to skip A), I got stuck on C. After making a WA submission, I started to panic, severely affecting my performance. I was freaking out, and started to try more approaches (3 more, in fact), all of which also got WA, contributing further to my panic. After a while, I decided to go back to A, and solved it (through I made it too complicated and took too much time, for someone at my skill level). I was also simultaneously working on D (often switching back and forth between C and D), and I was also stuck for quite a while.

I ended up solving D, but again taking way more time than I should due to my emotional state. By the time this happened, there were around 50 minutes left. I then started working on E (sometimes switching to C), but could not solve either of them during the contest. I looked at some other problems briefly, but did not seriously think about them due to my assumption that they will be too hard (which turned out to be false, especially with G).

After the contest, it turned out that I read problem C incorrectly (missing the fact that the two chosen elements must be consecutive). I did not look at the statement carefully during the contest, again because of the panic.

As I calmed down, I upsolved many problems from the contest.

A day later, I competed in AtCoder Beginner Contest 173, which is supposed to be easy for me. However, I ended up solving only 4 out of 6. The reason was similar; getting stuck on an easy problem, causing a panic which I did not recover from. After solving A-D, I wrote a lengthy solution to E using logarithms which got WA on a single test case due to precision issues (turns out, the code gets AC when double is changed to long double). I started to panic again, and tried approaches that do not use floating point, but taking way more time than I should. The new code was messy (because I was only trying to complete it as quickly as I could), and it keeps getting WA. I was not able to get it working before the contest ended. I opened F but did not think about it much, because I was focusing completely on E at the time (F turned out to be quite easy).

Does anyone have tips on staying calm when things do not go well during a contest (in other words, when one is unable to solve an easy problem)? Currently, for me, this is the main cause of large rating drops.

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

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

Often to avoid losing my cool I wear shorts when I compete during contests, and keep the window open if it is a nice day.

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

    I didn't know that shorts help in keeping your mind also cool.

    • »
      »
      »
      4 года назад, # ^ |
      Rev. 2   Проголосовать: нравится +77 Проголосовать: не нравится

      Yeah. Air conditioning works really well too. Sometimes all of the heat will propagate to the top of my room, and then my mind gets really hot because of it, so I need to turn on the air conditioning to cool my brain off otherwise I get dehydrated and die of heat exhaustion. From past experience, I find that that usually has negative affects on my solve times.

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

        Ohh! I'm a poor man and can't afford air conditioning!, may be it's time to change strategy.

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

    I think you don't panic in contests at all. This was one of first things I noticed when I started watching your screencasts. I'm trying to emulate your style in this regard.

    Also there is hype around as to getting into the zone 5 minutes before the contest. I tried that but the build up made me more nervous. I love how you just crack a couple of jokes 10 seconds before the contest and get on with it.

  • »
    »
    4 года назад, # ^ |
    Rev. 2   Проголосовать: нравится +23 Проголосовать: не нравится

    I actually do have a small fan under my desk. I originally used it for gaming (when playing Smash) so my hands don't get sweaty, but occasionally I turn it on while working or during a contest if it's too warm.

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

I'm assuming the reason you're not calm is out of the fear of large rating drops? If that's the case, I highly recommend that you read this article: https://codeforces.me/blog/entry/79415

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

Don't look at standings and tell yourself everyone else is doing even worse. That's what I do :P

Also there's nothing wrong with in going back to a problem you screwed up on. You might realize something new. For easy problems, it's good to keep in mind that they are solvable even in a short amount of time. Try reminding/telling yourself that problems are easy during the contest, maybe that will keep you from overthinking or even take you closer to the solution.

(edit: made the following spoiler because it has nothing to do with the answer to your question)

My experience that round
  • »
    »
    4 года назад, # ^ |
      Проголосовать: нравится +85 Проголосовать: не нравится

    For me, it's opposite. Sometimes, I am able to solve E/Fs only after I see one of my friends AC. So, I think it must not be that difficult and I'm able to solve it xD.

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

      I meant that for screwing up an easy problem. I'd feel like shit if I looked at scoreboard after C wa and be surrounded by greys

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

      same thing works for me too..whenever i figure out one of my friends already solved a problem then I think it is a easy problem or else he wouldn't be able to do so ..then i solve it too :3

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

      But that may also have negative impact, if you see nobody solved some problem, you may feel like it's difficult

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

        Well, nobody still solved it doesn't mean nobody will. But friends' / co-trainers' solve is often a valuable information. In ICPC regional 2018, I hadn't even read a problem because it was solved by very few people. I was too late to notice / care that one of my friends' team has solved the problem. Later, it turned out that we all had seen generalized version of the problem just two days ago, in our intra-university contest. But it was too late for me to implement the solution :(

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

Maybe you should have read all the questions

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

    Reading other problems solved by less people when you are already trying to think on two problems solved by a lot of people doesn't make sense to me. The contests where I tried to do this, I ended up with nothing solved, because I used my thinking in too many directions and had the urge to switch problems due to panic.

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

      Reading other problems is fine, if you don't give too much time without any idea behind harder problems. Often harder problems with less solves is easier for us (e.g. D is constructive which you have no idea about, E is data strucuture/DP which you can get idea soon after reading the problem, if you have seen something similar), you should be able to feel it when you read them. In my last 2 contests, C was harder for me than D (as C was constructive, unlike any problem I have seen before), even though C had much more solve.

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

        I am not against reading other problems. I am talking about situations where you have read 2 or more problems already and they are the ones with maximum solves.

        For example, I couldn't do C, I read D. I couldn't do D. Now should I read E, if it solved by really low amount of people and there is like 30-50 minutes left?

        Sure, for people with better skills it might be an option. But I rarely do E's and F's in 5-6 problem contests. But I think it applies in Div 1 also. If you are already bricking on Div 1 B and C, I doubt there is any significant chance you will AC D. (Unless of course, you usually AC Ds already)

        I am saying all this, provided, the next problems have really low submissions compared to the ones you already read.

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

          Reading a problem usually takes like 2-5 minutes, and sometimes authors overestimate the problem's difficulty so it's imho better than being stuck on problem from topic you're really weak at.

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

This used to affect me a lot because I wanted a nice constantly increasing rating graph, but now it's already ruined so I don't care anymore. ;)

Here are some tips: Don't check standings, or at least disable CF rating predictor. Disable all notifications (close Facebook/Discord until contest ends). Listen to music to calm down. Overall try not to think about your rating while in contest.

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

After the contest, it turned out that I read problem C incorrectly (missing the fact that the two chosen elements must be consecutive). WHAT? Hell... I missed this at the contest, too. I missed this when I upsolved this problem, after asking the solution from my friends. I was very frustrated then, so I just angrily coded the solution. I even missed this fact, when I read your blog for the first time. -171

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

Same with me. Generally My contest is dependent on starting rhythm. If there is any penalty or too late to solve starting problem. I screwed up the whole contest. :(

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

I also have the same experience. Getting stuck on some initial problems, and seeing many people did it, discourages me to move to the next problems, which I sometimes find easy to solve after the contest even without the editorial :(

Maybe it's due to fear of ratings, or the high number of submissions on a problem. Yesterday I gave Atcoder beginner contest, I solved till E, because I think I had no fear of ratings, and had a fresh mind.

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

A fresh zespri works better than one might expect.

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

Don't look at the leaderboard until you solve the min number of problems according to your level(i think 3 if your rating is 1600-1900, or 4 if higher). If you are stuck at one of the first three problems then looking at the leaderboard and seeing that your friends did it very fast and some have even solved more than 3 problems , makes you loose your focus during the contest and also makes you think about the rating loss.

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

whenever i got stuck. I follow this "you never lose. Either you win or learn"

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

wait what??

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

I guess some people are just better at handling stress than others. But letting yourself fail from time to time might not be that bad, it could put some pressure off of you.

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

    I see you actually followed your own advice last contest :)

    But I think most of us are too obsessed with the number to let it drop on purpose. Maybe it's easier once one gets past CM.

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

      From experience, after you get purple you'll immediately become obsessed with becoming yellow ;)

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

For real, not caring much about it works.

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

I know exactly what you're talking about, I have several very similar stories. Most recent one is Codeforces Round 635 where I did not solve anything during contest time. But I have lots, especially from ancient times when I did OI contests.

Contrary to the previous commenters I don't think looking at the scoreboard has anything to do with it. The root cause of failure was panic after not solving an easy problem and you don't need to look at the scoreboard for that to happen. Even more — this has happened many times to me in OI contests where contestants don't even have access to standings. Also the scoreboard is important information that you should look at. Can you imagine telling a nervous ICPC team "don't look at the scoreboard"?

In short — while scoreboards can make people nervous, they're not really the cause and "not looking" doesn't really fix the problems.

One thing that has helped me (it has gotten a lot better since 2016) — get very-very used to the fact that you're competing. A long time ago, the only contests I did were the national olympiads, the rest of practice was just solving problems. Of course like that, each contest was a very "special" event which builds up this anxiety and excitement which sometimes lead to panic and failure. And Div. 1 rounds on CF are rare enough that each round feels like a "special" rare event. But if you compete (incl. virtual competitions etc) often, contests feel like "just another contest" and performance becomes much more consistent. These ICPC camps where you do a 5-hour contest every day helped a lot too.

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

    I think learning to handle pressure is more important than thinking "just another contest". Because, it's very hard to think real important contests like IOI, ICPC as just another contest.

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

In contest when I see a candidate master or international master could not solve a easy problem...it discourages me to try that problem..My brain tells me that if a high rated coder can not solve that problem...then I will never able to solve that problem during contest.But sometimes I easily solve that problem after contest.It is a big problem for me.

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

I take sufficient time for Problem A. The objective is not to mess up at the beginning even if it consumes 5-10 mins. Don't let anxiety build-up at the very start. I usually solve Bs fast.

Moving on to Cs and Ds. For them, I discard lengthy cumbersome solutions that come to my mind. I take 10-15 mins more for Ds especially to arrive at an elegant solution. This does 2 things for me.

  1. I gain confidence after I find an elegant solution to a tricky problem.
  2. It saves me from long unnecessary sessions of bug fixing most of the time and at least for me, I don't even look at Es after that.
  3. Switch between problems. Many of us(including me) don't do this. But it helps a lot.

For someone at your level of competency, ignoring Es and Fs is not what you want.