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

Автор Epiq, 9 лет назад, По-английски

Hey Codeforces Community!

When it comes to defining the most important factors of success in programming competitions, we often agree that experience prevails. However, the purpose of this post is to draw our attention to a not any less important factor — our psychological state during the contest.

How can one deal with stress? Should it be dealt with separately, or maybe enough experience can just put it off?

How often does it happen that we know how to solve a particular problem, but due to either distractions or a panic attack we just cannot get back on track, cannot get back into 'the flow'? I have seen people getting stuck in such a state, and therefore not being able to finish the task. The frustration that comes after such experience is daunting.

Let us address the most experienced participants of this community:

  • what do you do before/during contests to ensure staying in the right state of mind?
  • what strategies for dealing with stress would you recommend?
  • how often does it happen to you that during the contest you are getting stuck in some weird (=inefficient) thinking patterns, which prevent you from performing at your max?
  • do you perform any kinds of 'rituals' before the contest to 'tune in', 'get into the flow'? Some world-famous sportsmen are also well-known for such 'rituals', e.g. here is what Rafael Nadal does.

In any case, thank you all for your feedback! ;)

This community has truly become a talent hotbed, where world-class performers can grow.

Edit: it is totally fine to say that experience is the only factor of success in your opinion — the point here is to collect opinions from experienced participants, even if they are very similar!

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

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

I get panic attacks so often! I was unable to solve problem D yesterday and I was so sad that the contest concluded around 2 a.m. and I couldn't sleep till 4 a.m.! I think I get a panic attack whenever I am stuck on an easy problem. I don't even read the next problem correctly. I was solving problem C incorrectly , as I am not really good at even little math problems though. I can solve them but I take time. I think I am suffering panic attacks lately just because I am working hard and I want more out of the contests, but transition never comes so fast! :) So I would love to hear if someone has experienced the same!

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

    I believe it is happening to most of the participants, especially at the point where previous experience does not help anymore, e.g. when trying to solve a problem, which does not look like anything you'd solved before.

    As far as I understand, it is especially stressful, when the initial judgement about the complexity of a problem does not go along with the results, i.e. when believing that the task is easy, but for some 'awkward' reasons still not being able to implement/debug/submit the solution quickly. Your experience from yesterday will probably sound familiar to most of the readers :)

    It could be that the root of this problem in this particular case could be the imprecise initial judgement — that the task is easy. Could it be that more experienced participants just don't judge the complexity of the problems? Maybe then there is no extra stress during the contest, as it allows you to solely focus on the solution?

    However, let's not go too deep into philosophy, I would rather stay pragmatic here :) I am eager to hear what the most experienced competitors do about it!

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

Most important thing ever for the optimal psychological state: go to the toilet before the contest starts :)

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

    Korotkevich appears immune to the intensity of the situation and, in fact, seems more preoccupied with bodily functions. After 45 minutes of coding, he—and there’s no other way to say this—picks his nose, looks at his handiwork, and then picks his nose some more. Right after that, he delivers the equivalent of a giant middle finger to the rest of the contestants by sauntering to the bathroom. The dude is good enough to take time out for a pee.

    by Bloomberg

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

    Or as soon as the contest starts :D

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

How can one deal with stress?

Get used to it. When you're under stress all the time, it's not such a big deal during a contest. And doing a lot of contests, possibly even at the same time, is a good way to get used to stress :D

As for me, I need to be under stress to work fast. It's even better when I'm angry.

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

    If you're under stress all the time, how do you enjoy life? Most of us do competitive coding for fun. If we have to be under constant stress to have fun, then isn't that kinda beating the purpose?

    Do your best, fcku the rest

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

      If you're under stress all the time, how do you enjoy life?

      Have you ever considered the possibility that they're not mutually exclusive?

      If we have to be under constant stress to have fun, then isn't that kinda beating the purpose?

      The purpose of fun isn't "not being under stress", so no.

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

        My definition of stress differs from yours. For me, stress is not sleepless days & nights of contesting or practicing. That is fun. Stress is anxiety, sense of unaccomplishment, feeling underconfident and all those negative things. For me, stress and fun are mutually exclusive :)

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

          Fun is "sleepless days&nights of contesting or practicing" for you? Really?

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

            Unlike most people, I don't get any kind of adrenaline rush from getting AC on problems. I get the rush simply whenever I get the opportunity to have adequate time to solve awesome problems. I like the thinking and solving stage of the process more than the solved it! stage. That's why its fun for me if I can devote all my time thinking and solving. It gives me a sense of accomplishment, more than the Accepted does.

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

I cannot think hard when I want to sleep, eat or drink.

Psychological state is somehow related to the results but not directly.

Several times it was that we (I and my teammates) were solving only one problem because many teams solved it. I was angry with myself because I can't solve an "easy" problem. That was terrible. There were plenty of problems that could be solved by us but we spent more than an hour to solve this particular problem.

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

It's an interesting question, and one I haven't given much thought to. I do sometimes get into a state where I can't think properly about a problem or panic because everyone else is solving a problem I can't get anywhere with. Sometimes the only way to break out of it is to give up, move to another problem, and come back to the problem later.

As for mental preparation, I try to relax before the contest e.g. by reading a book. I usually avoid doing much coding in the few hours before the contest, so that I'm not still thinking about whatever I was trying to debug. About 5-10 minutes before the contest I'll start setting up my workspace, opening the contest window, documentation, creating a directory to work in, making sure I have blank paper to work on etc.

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

About before-the-contest things. Sometimes I'm busy so I only create a directory and find some paper. And sometimes (sorted by the importance):

  • Toilet.
  • If only I have time for that, I code or type anything for a few minutes before a contest. It's a simple warm-up for my fingers.
  • I take a walk or at least open a window — to get some fresh air.
  • 10 push-ups.
  • I listen to fast energetic music.

When I get really stuck I go to spout some cold water on my face. And 15 minutes ago I wrote about thinking about the rating/leaderboard in the other comment.

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

The most important thing for me is to get the maximum possible amount of sleep before the contest.

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

I have a problem that I give up on solving problems too quickly and start "hacking" too soon. I will use the chrome plugin "StayFocusd" to block the access to my codeforces room so that I don't get tempted to hack.

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

For me, one of more important things on contests where I expect to be in TopX and whether I will place high is of some significance (rather onsite ones, not CF or TC) is not to have thoughts like "OK, this guy/team is really strong, that one I should be able to beat, however those guys are strong and fast on easy problems, so if problemset consists of that and that type of problems with probability 63,4% I will place in TOP5" — that really distracts me, takes away pure fun from problem solving etc., however it is hard to fight if I'm really excited about the contest (I'm kinda afraid that this is how my thoughts before ICPC finals will look like). Having something to escape from such thoughts (like listening to music) may be a good idea.

Another important thing is not to have distracting physical needs like the need to go to toilet or being hungry. In article Zlobober quoted there is written "Right after that, he (tourist) delivers the equivalent of a giant middle finger to the rest of the contestants by sauntering to the bathroom. The dude is good enough to take time out for a pee.", however I would strongly disagree with such point of view. I simply can't gather any of my thoughts in such situation. It happens from time to time that I have such a need, but I am in the end of debugging one problem and think "OK, I will go to toilet as soon as I debug this" and this is always a bad idea :P. Regarding to being hungry — eating one Snickers always helps me with that.

Another thing is not to have distracting things in your place. For example, I need a lot of light to think properly, my performance and productivity rapidly go down if room I am in is not properly illuminated. Another example is my keyboard — recently it got worse and few letters were not typing properly, to type 'a', 'k' I sometimes needed few tries which was really not comfortable — I bought a new one, changed it yesterday and I feel like I can type two times faster and I am sure that will help me.