All good resources. I'd also add Algorithms, Etc.
by Jeff Erickson.
http://jeffe.cs.illinois.edu/teaching/algorithms/
And for practice, Google Code Jam past problems are quite challenging ;)
http://jeffe.cs.illinois.edu/teaching/algorithms/
And for practice, Google Code Jam past problems are quite challenging ;)