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.
- ¿Cuántas estructuras de datos y algoritmos necesita el desarrollador web?
- ¿Existen tipos de programas de software que involucren matemáticas, pero que puedan resolver problemas cotidianos (es decir, no un motor de juego de física completo o un nuevo algoritmo criptográfico)?
- ¿Cuántas veces aparece el número 1 en una serie de números del 1 al N? Necesito una explicación lógica, no una usando la computadora.
- ¿Cómo evito el desbordamiento de enteros en C ++?
- ¿Cuál de estos me dará la mejor oportunidad para usar los algoritmos y las estructuras de datos que se enseñan en el desarrollo web de la escuela o el desarrollo móvil?
Por último, también me gustaría recomendar Codeforces y UVa Online Judge.