designing a divide-and-conquer algorithm
  1. we first go identify some natural subproblems…
  2. suppose you could solve the subproblems magically, can you solve the big problem?

Then go about thinking about the recurrence relation, etc.

Tips

  • use some small examples by hand
  • leverage existing algorithms
  • use some analysis to guess what the structure of the solution is