A very good book covering most of the aspects of competitive programming. A must read for anyone preparing for the ACM-ICPC. Note : This book is NOT for beginners. Preliminary cs knowledge is required along with sufficient programmin' knowledge in C/C++/Java