Algorithms explained: Divide et Conquer vs Dynamic Programming