• A list of tips to be a better competitive programmer aka better problem solver

Good Reads

Which problem to do?

Problems that are not so easy AND we can learn something from it

Always Ask Why

  • Why are we doing this?
  • Why is the correct?
  • What do we need this information for?
  • Why am I watching this video?
  • What do I expect to get out of this?

This applies to learning other new concepts too

When to read solutions?

It is good to read solutions when just started. But get stuck for some time when actual has a basic level of understanding, this helps to force the brain to create more links among what we already know

Short time: 20-45mins, medium time: 1-4hrs, after being stuck

How to get the most out of editorials

  • How you could have come up with the solution (thought process/steps)

  • Common ideas/alternate solutions

  • Common angle of attack/thought process (trying a simplified problem first)

  • Why does the editorial do this?

  • What did they think about doing that led them this strategy?

  • Is this a common thought process I can use in another problem?

General Advice

  1. Find some friends/community
  2. Focus on improving the skills and not the rating
  3. Slow is fast, having breaks in between to go far
  4. Practice, practice, practice
  5. Go back to solve questions we couldn’t solve during a contest
  6. Take practice problems seriously

Common Mistakes

  1. Not actually learning the concepts used in the problems when practising
  2. Focus too hard on speed, speed only matters when you are able to solve all the questions in a contest :)
  3. Getting stuck in a dead-end, you probably need to pick up a brand new concept to move on, learn about it first!
  4. Getting too stuck on a problem during a contest, maybe it is good to solve other questions first
  5. Not fixing the weakness, gotta suffer the pain to grow!
  6. Being inconsistent
  7. Jumping to code too early, sketch the rough idea and edge cases first!
  8. Reading the problem too fast, refer to mistake 2 :)
  9. Assuming untested code is correct, we can only assume if it is battle-tested code template
  10. Not giving a try to a problem

Some Stuff Worth A Try

  1. Go at least a month without asking for help