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

Автор Ayush687141, история, 3 месяца назад, По-английски

Hello everyone,

I wanted to share some thoughts about my competitive programming journey so far and also seek guidance from more experienced programmers in the community.

When I started competitive programming, I had absolutely no idea what programming was really about. I didn't understand problem solving, algorithms, or even how to approach a coding problem. Looking back, I would say it took me nearly six months just to understand what was actually happening.

One of the biggest mistakes I made in the beginning was focusing too much on the story of the problem instead of its essence. I would get lost in the narrative and details rather than identifying what the problem was really asking. As a result, even relatively simple problems felt overwhelming.

Over time, I slowly realized that every problem is essentially hiding a pattern, observation, or logical requirement behind its story. Once I started looking for the core idea instead of the wording, things began to make much more sense.

Today, I feel much more comfortable reading problems and understanding what they are trying to say. My solving speed has improved significantly compared to when I started. Even when I cannot fully solve a problem immediately, I am often able to figure out a large part of the solution and identify the correct direction.

One habit that has helped me tremendously is writing down test cases and dry-running my approach before coding. Whenever I get stuck, manually tracing the logic on small examples often reveals mistakes or observations that I would otherwise miss. This simple practice has probably saved me more time than any trick or shortcut.

Another observation I have had is that it feels increasingly difficult for beginners to gain rating compared to what many older users describe. This may simply be because the overall level of competition has become stronger over time, but I sometimes feel that new participants face a much more competitive environment than before.

I have also noticed growing discussions about the use of AI tools in competitive programming. While such tools can be useful for learning, I hope that competitive programming continues to reward genuine problem-solving ability and independent thinking. The most valuable part of this journey, in my opinion, is developing the ability to solve problems yourself.

Despite the challenges, I still enjoy the process. There is something very satisfying about finally understanding a problem that looked impossible at first and then successfully implementing the solution.

I am still learning and have a long way to go. Therefore, I would like to ask the experienced members of the community:

  • How did you prepare for competitive programming?
  • What resources helped you the most?
  • How did you practice when you were a beginner?
  • What mistakes slowed down your progress?
  • How did competitive programming help you with placements, internships, or interviews?
  • If possible, I would love to hear your story as well.

I believe many beginners, including myself, could learn a lot from your experiences.

Thank you for reading, and I look forward to hearing your advice and stories.

Good luck to everyone on their CP journey!

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

»
3 месяца назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

How did you prepare for competitive programming?

I’m not exactly sure what you mean by “prepare,” but from the beginning I prepared myself mentally for the fact that competitive programming is a long journey. I knew I would constantly need to learn new algorithms, data structures, and problem-solving techniques, many of which can be quite difficult and complex.

What resources helped you the most?

The resources that helped me the most are the USACO Guide (in English) and VNOI Wiki (in Vietnamese). I also highly recommend the Competitive Programming Handbook by Antti Laaksonen, which is a great book for both beginners and intermediate programmers.

How did you practice when you were a beginner?

When I first started, I solved a lot of difficult problems simply because I didn’t realize how hard they were! After joining some training courses, I began learning algorithms more systematically. I focused on easier and classical problems, and I made notes about the solutions and the key ideas behind them. This helped me build a stronger foundation.

What mistakes slowed down your progress?

There was a period when I lost interest in competitive programming and seriously considered quitting. Fortunately, after a few days away from it, my motivation came back. Looking back, I think losing consistency was one of the things that slowed down my progress the most.

How did competitive programming help you with placements, internships, or interviews?

I’m still a student, so I don’t have experience with placements or internships yet. Right now, my main goal is to qualify for and perform well in the Vietnam National Olympiad in Informatics (VOI) and ICPC.

If possible, I would love to hear your story as well.

I have participated in several programming competitions, including the Excellent Student Contest in my city and the Young Computer Scientists competition.

One of the biggest lessons I learned came from a painful mistake. In the Excellent Student Contest, there were three problems, and I successfully solved all of them. However, I forgot to remove some debugging output from my code for the second and third problems before submitting. As a result, despite having correct solutions, those submissions were judged incorrectly, and I ended up receiving no award at all. I lost what could have been a championship title because of a simple oversight.

At the time, I was shocked and extremely disappointed. However, that experience taught me the importance of being careful and checking my submissions thoroughly. Today, instead of discouraging me, that failure motivates me to work harder toward my goals of qualifying for VOI and competing in ICPC one day.