I'm not a competitive programmer and won't be one, but this book seems to be a very practical, hands-on intro into many useful algorithms. Really good!