Good books on problem solving / math olympiad
I enjoyed The USSR Olympiad Problem Book: Selected Problems and Theorems of Elementary Mathematics by Shklarsky, Chentzov and Yaglom.
For a slightly annotated list of some books on problem-solving, see https://web.archive.org/web/20170329183237/http://math.mit.edu/~rstan/refs.pdf.
Polya's "How to Solve It" is a good one. When prepping for the Putnam, I used "Problem Solving Through Problems"