How to solve the ’longest common subsequence’ problem. Here we examine a method for solving it recursively (naively) and how to solve it efficiently with dynamic programming.
An advanced way for designing solutions. What features does a problem need to display so that this type of solution can be applied? If those are satisfied we can transform algorithms with exponential time complexity to polynomial ones, by sacrificing on space.
A brilliant way for solving the maximal subsequence problem (or maximal sub-array). One of those specialized algorithms that makes you truly appreciate the genius of others'.