Hi everyone,
I'm currently trying to improve my competitive programming skills and would appreciate some guidance. Here's a summary of my situation:
Current Progress:
- I solved more than 150 problems in Leetcode and very familiar with data structure and algorithms (In Leetcode Weekly contest, I can easily solve 3 problems out of 4).
- I regularly participate in Codeforces contests.
- Typically, I can solve the first two problems. But sometimes I also struggle with B problem (when I sees like problem was a new pattern to me).
- But, I consistently struggle with the C problem.
My Approach:
- During the contest, I attempt to solve the 3rd problem but often fail to come up with the optimal solution.
- After the contest, I read the editorial to understand the correct approach.
- I notice that the main reason I fail is because I encounter new pattern types of problems that I haven't seen before.
- (Ex: In a question, I come up with one scenario where brute force operation takes O(n^2) but I can't come up with solution of O(n) then after reading editorial they solved it using prefix-sum. I am already familiar with prefix-sum and I also know when to use it , but I never seen a scenario like that for which I never think prefix-sum also works. This is what new pattern means to me and this what is my problem.)
- I always remember these approach for future reference in case a similar problem appears.
Challenges:
- Despite attending over more than 15 contests, I haven't yet encountered a C problem that I could solve using an approach I learned from a previous editorial.
- I feel like I'm only remembering the lot of approaches for the particular pattern problem for no use.
Questions:
- Is my current method of learning from editorials after each contest effective, or do I need to change my approach?
- What strategies or practices can help me better recognize and solve new pattern problems during contests?
- How can I improve my problem-solving skills to break past this plateau?



