What is the difference between dynamic programming and divide and conquer ?
I have solved around 150 problems on dynamic programming , but I still fail to recognize the optimal substructure for most problems . How to improve ?