Here are some helpful references and OJs we recommend.
Books
- Competitive Programming
- Competitive Programmer’s Handbook
- E-Maxx Algorithms in English
- Programming challenges : the programming contest training manual, Steven S. Skiena, Miguel A Revilla, accessible through NYU Libraries
- Guide to competitive programming : learning and improving algorithms through contests, Antti Laaksonen, accessible through NYU Libraries
- Principles of Algorithmic Problem Solving
Online Judges
- Codeforces
- CodeChef
- Kattis
- LeetCode
- Topcoder
- AtCoder
- Google Coding Competitions
- Vjudge
- HackerRank
- UVa
- Sphere Online Judge
- Peking University Online Judge, POJ
- Project Euler