Competitive programming books

written by Antti Laaksonen

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 such as suffix arrays, treaps, dynamic programming optimization, and parallel binary search. You can buy the book, for example, through Springer or Amazon.
Олимпиадное программирование (Olympiad Programming) is a Russian version of Guide to Competitive Programming, published by DMK Press. More information about the book is available on their website.

Do you want to practice the topics discussed in the books? The CSES Problem Set provides a collection of practice problems, ranging from easy to difficult.