Dynamic Programming And Greedy Techniques