My Problem Solving Notebook Courses CSE547 - Discrete Mathematics - [Youtube] Math for Competitive Programming - [Youtube] Programming for the Puzzled [Youtube] Resources Google Code Jam - Past Contests E-maxx-eng - Source E-maxx.ru - Source Top Coder Tutorials Top Coder Tutorials - Source Dynamic Programming topics by syg96 Introducing Dynamic Programming Commonly used DP state domains Optimizing DP solution VNOI Wiki - Source Books Competitive Programmer's Handbook - Antti Laaksonen - Source Discrete mathematics and its applications - Kenneth H. Rosen Algorithms - Jeff Erickson - Source Algorithm Design - Jon Kleinberg and Éva Tardos - Source