title: Optimal substructure in Dynamic Programing
body: <p>I have been trying to understand Dynamic Programming, and what I understood is that there are two parts of DP.</p>
  <ol>
  <li>Optimal substructures</li>
  <li>Overlapping subproblems</li>
  </ol>
  <p>I understand the second one, but I am not able to understand the first one.</p>