Solo conozco algunos conceptos básicos de c ++. ¿Qué libros o tutoriales debo consultar para resolver problemas en spoj y codechef?

Comience con los conceptos básicos del lenguaje de programación básico también familiarícese con las bibliotecas (STL para c ++). Haga algunas preguntas de implementación en Spoj, familiarícese con el entorno de jueces en línea (particularmente difícil para topcoder).

Ahora es el momento de algunos algoritmos.
Tutoriales de Topcoder
Son la fuente perfecta para comenzar con una programación competitiva. Comience a leer tutoriales básicos de codiciosos, dp y algoritmos de gráficos. Después de leer cada tutorial, pruebe primero los problemas relacionados prescritos en el tutorial y luego continúe con los problemas correspondientes en los jueces en línea.

Después de resolver cada problema en un juez, lea los editoriales independientemente del hecho de que haya podido resolver el problema o no. Cada editorial de Topcoder y Codechef es un placer de leer y una gran cantidad de conocimientos.

Por último, también me gustaría recomendar Codeforces y UVa Online Judge.

Codechef y spoj tienen que ver con la programación competitiva que básicamente implica la capacidad de resolución de problemas y el uso de algoritmos y varios teoremas, etc.

Lo que siento es que no hay un libro en particular sobre todo lo que tienes que hacer es practicar todo lo que puedas y aprenderás todo lo que necesites sobre la marcha.

Comience a resolver problemas desde abajo. Si no puede resolver una pregunta, léala en la red y en los foros o lea los editoriales e intente nuevamente. Una vez más, si no puede ver las soluciones enviadas (no disponible para spoj) e intente nuevamente. Te aseguro que aprenderás y serás tan bueno como quieras.
¡Buena suerte!