Algorithmic Strategies: brute force, greedy, divide-and-conquer