As a former participant at such contests, here are some sites that helped me along the way: - Study Introduction to Algorithms, now at third edition: http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&tid=11866 (This is one of the best books in the field and one I personally read, that's why I'm recommending it. There are of course other books that I don't know of.) - Check out courses for computer science from different universities: http://academicearth.org/ - USACO has a training path witch gives you problems to solve and increase in difficulty as you go along - Competition sites like topcoder.com also have educational content beside the weekly algorithmic contests: http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=alg_index
And most importantly, solve lots and lots of problems. Beside USACO and topcoder, here are some ACM like online judges: - http://uva.onlinejudge.org/ (some are easy, others are easy if you get the idea and some of the last ones are hard) - http://www.spoj.pl/ (most are hard!)
Bonus: If you're romanian, you should really check http://infoarena.ro/ It's the biggest online community in computer science with articles, problems, helpful guys.
As a former participant at such contests, here are some sites that helped me along the way:
- Study Introduction to Algorithms, now at third edition: http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&tid=11866 (This is one of the best books in the field and one I personally read, that's why I'm recommending it. There are of course other books that I don't know of.)
- Check out courses for computer science from different universities: http://academicearth.org/
- USACO has a training path witch gives you problems to solve and increase in difficulty as you go along
- Competition sites like topcoder.com also have educational content beside the weekly algorithmic contests: http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=alg_index
And most importantly, solve lots and lots of problems. Beside USACO and topcoder, here are some ACM like online judges:
- http://uva.onlinejudge.org/ (some are easy, others are easy if you get the idea and some of the last ones are hard)
- http://www.spoj.pl/ (most are hard!)
Bonus: If you're romanian, you should really check http://infoarena.ro/ It's the biggest online community in computer science with articles, problems, helpful guys.
Hope this helps!