Dynamic Programming Basic Problems On Functions