Competitive Programmer's Handbook (2017) [pdf]
If you wonder why you need to learn competitive programming when you can just look it up?
I would like to refer you to B.F.Skinner's quote on education:
"Education is what survives when what has been learned has been forgotten."