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