I started competitive programming few weeks ago. After attending some contests and some practice, I was able to solve A problem in div2 contests faster. (sometimes slower too). but the problem is with the problem B. does it consists of topics that one should know before solving? Please share how you guys practiced to get good at solving B. Thank you.

Please share your suggestions, guys. It will be very helpful..

STL, Binary search, Two pointers, prefix sum...

And some other constructive ad-hoc and basic maths...

As i see from cfvis, you have only like 10 or so B problems solved. Go for them! Usually B problems are more observation than knowledge, so just go for it and solve like 100 or 200 more B problems, this will eliminate any problems. If you feel stuck, maybe try learning theory. For example, you see a tag "binary search" on problem you couldnt solve, google what it is and watch a few vids or read articles, then try implementing it and then solving tasks filtered for this exact topic.

Start from very easy B problems, you can sort the problems by the number of people who solved it, try to solve problems that have been solved by many people and then make it harder and harder, if you can't solve any problem after thinking, read the editorial.

To be Learn:

1) stl in c++ / equivalent . 2) Basic maths , basic logic 3) Searching — Sorting , greedy , two pointers ,sliding window ,Implementation , stl based 4) Binary search ( very important and a saviour) 5) Number theory ( sieve , gcd , factorisation , prime numbers, etc ) 6) Basic bit manipulation and basic combinatorics. (very basic)

Remember, practice makes perfect! Keep participating in contests, solving problems, and learning from your mistakes. Good luck!

Bridging the A to B gap: Dive into topic-specific practice and embrace the learning curve. Progress is a puzzle, one piece at a time

Hello there ChatGPT

What?

It sounds like you used ChatGPT for that comment