Statement 1: When dynamic programming is applied to a problem, it takes far less time as compared to other methods that don't take advantage of overlapping subproblems.
Statement 2: A greedy algorithm can be used to solve all the dynamic programming problems.