Nathan4's blog

By Nathan4, history, 2 months ago, In English

Hey Codeforces,

I wanted to share my experiences experimenting with different warm-up routines that can help improve focus during contests. I believe this topic is particularly relevant for those whose time zones make contests fall during early mornings or late nights. Getting into the right psychological state before a contest can significantly boost your performance!

Personally, I usually participate in contests from 10:35 pm to 12:35 am due to my time zone, which makes it challenging to stay focused, especially in the second half since I’ve typically been awake since 7 am on school days.

To address this, I decided to try out various warm-up strategies suggested by experienced members of the community. My goal was to find out which ones work best for me (though, of course, this is subjective!).

This blog is divided into the following sections:

  • Tips on warming up from experienced participants.
  • My experiences and reflections on trying different warm-up combinations in recent contests.

If you’re short on time, I recommend checking out the first section, as it contains more general, widely applicable advice.

Warm-up Tips

There have been a few past posts on this topic (e.g., here and here) that offer high-quality tips. I’ve summarized the most useful and reproducible ones, ranking them by how frequently they were mentioned:

  • Sleep
  • Energetic music
  • Caffeine
  • Relaxation (meditation, breathing exercises, or reading)
  • Simple math exercises or solving some Div. 2 A and B problems
  • Use the bathroom before the contest starts
  • Avoid too much coding
  • Set up your workspace: open the contest window, documentation, create a directory, and have scratch paper ready
  • Push-ups

Another useful tip I’ve noticed from watching top coders is to stand up and walk around when stuck, rather than staying seated and writing directionless code. This has been particularly helpful for me.

At first glance, these tips might seem pretty standard and nothing groundbreaking. That’s what I thought when I first skimmed through the comments. However, I realized I hadn’t actually tried some of them before, even though I expected they would be helpful (the hardest part of #implementation problems is actually writing the codes...). So, I decided to try most of these strategies (excluding caffeine, as my contests are late at night) in recent contests.

My Experimentation

I noticed a pattern among the tips: most of them fall into two categories—**relaxation** and exercise. Although these aren’t mutually exclusive, I decided to try each approach separately and then combine them.

Relaxation Routine

For Round 967, I focused on a relaxation routine:

  • Took a one-hour nap in the afternoon.
  • Meditated for ten minutes about twenty minutes before the contest.
  • Didn’t attempt to solve any programming or math problems before the contest.
  • Set up my workspace (e.g., opened the complete problem set link) two minutes before the contest.
  • Watched the countdown during the last minute before the contest.
  • Wore earbuds during the contest but didn’t play any music.

Reflection: I was able to concentrate fully throughout the entire contest. This was a significant improvement since I usually find myself refreshing the problem page and getting stressed by seeing how many people have solved the problem I’m working on. By focusing solely on my progress, I avoided unnecessary stress. While the problems themselves obviously play a role in how well I concentrate, I do think the warm-ups—especially the nap and meditation—helped a lot.

I believe the nap gave me the energy needed for the later stages of the contest, and the meditation helped me maximize my focus. Specifically, I sat on the floor in a slightly warm environment and listened to waves.

Excitement Routine

For Round 968, I tried a more energizing warm-up routine:

  • Scanned a few Div. 2 A and B problems and mentally came up with solutions.
  • Did 30 push-ups ten minutes before the contest.
  • Practiced typing on Monkeytype five minutes before the contest.
  • Listened to some energetic music.

Reflection: I felt totally hyped up at the start of the contest. However, what really got my adrenaline going wasn’t the warm-ups but CLOUDFLARE. Imagine opening the problem set only to be greeted by the spinning Cloudflare wheel and a message saying, "Wait, your browser is being checked..." That’s what truly got my heart racing!

The main difference between this approach and the relaxing one was that I immediately started writing on scratch papers as soon as I understood a problem. With the relaxing approach, I spent more time dissecting the problems mentally before writing anything down.

A Mix of Both

For Round 969, I combined both approaches—meditation followed by push-ups—to see how each contributed to my performance. This turned out to be the most effective strategy! I was able to maintain focus throughout the entire contest (well, maybe not at the very end, as everyone was watching tourist push for 4k, myself included :)).

Reflection: In the end, I think the most effective warm-up strategy involves a balance of both approaches: staying mentally focused while being energetic enough to write down your thoughts.

My personal most 'useful' ones: CLOUDFLARE, sleep, meditation, push-ups...

Also, I encourage you to experiment and find what works best for you! One final practical tip I’d recommend is to experiment with your own warm-up routine before practice sessions too. I found that applying these routines to virtual contests or practice rounds was helpful for building consistency. Over time, you’ll start to recognize which combinations of relaxation and energy-building techniques work best for you. Just like your coding skills, your ability to mentally prepare is something you can refine.

One more thing many top coders emphasize, which I haven’t fully mastered yet, is getting used to the stress of competition. I still, for a lot of times, feel tempted to see my current ranking during the middle of a contest, even though I knew that this is probably going to affect me negatively. And every time when I get stuck on a problem and see more and more people solving it, I become more stressed.

Ultimately, I’m sharing these strategies from the perspective of a 1600-1800 rated coder. I’m curious, what useful warm-ups do you do before contests?

Thank you for your feedback!

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

»
2 months ago, # |
  Vote: I like it +3 Vote: I do not like it

bro really tries hard for every contest

»
2 months ago, # |
  Vote: I like it 0 Vote: I do not like it

personally, I have found that 90% of all contest-related annoyances simply vanish when you stop giving a duck

»
2 months ago, # |
  Vote: I like it 0 Vote: I do not like it

That will be IMO don't be mad.

You need to unfocus in 5-10 mins before contest. I mean, you don't have to think about anything, there should be emptiness and nothing else. No pushups, no videos,no talking,no phone calls. Just be monk for 10 minutes. Use music if you need it, but it should not be distracting.

Why?