Improving general problem solving skills rather than individual problems.

I have been solving problems everyday for the last 3 months, but I'm getting stuck on most problems when I revisit them. I have acquired some general sense of problem solving techniques (DP, BS, BFS, DFS etc.) and can come up with solutions for some problems but not as many as I'd like to.
I can barely touch some medium and most hard problems.

The way I have been solving problems is like this:

  • Look at the problem statement
  • Understand the examples
  • If I understand the problem, try to solve it, then look at optimal solutions
  • Otherwise go to discuss section and try to understand by looking at other peoples code
  • Move to the next problem

I think this can be improved, any help will be appreciated.

How do I improve my skills? Feeling a bit lost here, with no sense of real progress.
Anyone who's been in the same condition before and has come out?

Comments (22)