Dynamic Programming: Theory and Algorithms | AMiner