Virtual Judge

The online judge system we use to search problems and set contests. Virtual Judge is not a real online judge. It can grab problems from other regular online judges and simulate submissions to other online judges.

Introduction to Algorithms

This book is written by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. It has become a widely used text in universities worldwide as well as the standard reference for professionals and is commonly cited as the reference for algorithms. It covers a wide variety of algorithms in depth that are all common in competitive programming. (Pdf version can also be found on the Internet.)

Matrix67 Blog: The Aha Moment

Matrix67 wrote lots of articles about algorithms and programming competition, as well as other interesing math problems. He can always explain a problem in a way which is easy to understand(深入浅出). Search function is available in the blog.

NOTE: This website is in Chinese

CodeForces

This website was built by and for the sole purpose of competitive programming. They offer weekly short contests that last around 2 hours and many more problems for you to train your abilities. They are also a blog that offers many insight and guides to completive programming.

Topcoder

Similar to Codeforces, TopCoder was also built for competitive programming. They offer many different types of contests from short weekly ones to ones that last multiple weeks.