Given the following characteristics :
- Optimal substructure
- Overlapping subproblems
- Memorization
- Decrease and conquer
Dynamic programming has the following characteristics :
- $\text{(i), (ii), (iv)}$
- $\text{(i), (ii), (iii)}$
- $\text{(ii), (iii), (iv)}$
- $\text{(i), (iii), (iv)}$