4 Divide-and-Conquer 4.1 The maximum-subarray problem 4.2 Strassen's algorithm for matrix multiplication 4.3 The substitution method for solving recurrences 4.4 The recursion-tree method for solving recurrences 4.5 The master method for solving recurrences 4.6 Proof of the master theorem Problems