Competitive Programmer's Handbook is a free online book whose purpose is to give the reader a thorough introduction to competitive programming. You can download the book here (PDF) and view the project on GitHub. Guide to Competitive Programming is a printed book, published by Springer. It is based on Competitive Programmer's Handbook, but also discusses more advanced topics. You can buy the book,