Competitive Programmer's Handbook is a modern introduction to competitive programming. The book discusses programming tricks and algorithm design techniques relevant in competitive programming.
The CSES Problem Set contains a collection of competitive programming problems. You can practice the techniques presented in the book by solving the problems.
The license of the book is Creative Commons BY-NC-SA 4.0.
Guide to Competitive Programming is a printed book, published by Springer, based on Competitive Programmer's Handbook. There is also a Russian edition Олимпиадное программирование (Olympiad Programming) and a Korean edition 알고리즘 트레이닝: 프로그래밍 대회 입문 가이드.