I'm solving 50 problems at each level. Recently I moved up to 1500 rated problems. I realize that the problems in this level are significantly different from 1400 rated problems topic wise. Till 1400, problems could be done by vectors mostly, but now, there's dp and trees.

Can anyone share with me if there is any theory I must read to get through this level or should I just learn the concepts through editorials of the problems that come forth?

Basics first. You obviously should have an idea on

howthe algorithm/methodology works prior to usage. The ideas for its usage are usually learnt from competing in rounds. Regardless of whether you gain ratings or not, it should be clear that its always a gain for your experience and ideas. It could, in other words, be said that you learnwhat works in what situation (in generic terms) and what does notfrom competitions.So IMO, you should learn the basics of the algorithms, and then come back to understand how the ideas in the editorials work (or how you worked it out in the competitions!)

Assuming you read a basic algorithm book (say, introduction to algorithms) and you know very basic combinatorics, number theory, and group theory, perhaps you just need to learn segment trees. Then you are good to solve any problem for div2. You don't need to study a lot; it's more about problem solving skills/abilities.

Are there any solutions for improving the problem solving skill , right now especially in current rounds I suffer a lot from not being able to solve greedy/ad-hoc problems and I think I desperetaly need to improve my problem solving ability.

your life just changed after this comment

no it didnt , I still suffer from the same thing , I just got better overall but still my weaknesses are adhoc / constructive algorithms

any suggestions for me to reach expert and above?

solve more problems in the range 1600-1900

ok man!

Solve more