Paraphrase: in general , dynamic programming is used on optimisation problems , where the most efficient solution is needed .
the key to dynamic programming is to find the structure of optimal solutions .