Acabo de completar el primer año de ingeniería informática. Quería mejorar mi pensamiento lógico y algorítmico resolviendo problemas de un juez en línea. ¿Dónde empiezo?

Como acaba de completar el primer año, tiene un buen momento para convertirse en un buen programador. Para comenzar, resuelva 50-100 problemas fáciles / medianos en SPOJ. Estas preguntas no se basan en un algoritmo particular. Le ayudarán a mejorar su capacidad de creación de lógica.

Luego, una vez que se sienta cómodo con las preguntas ad-hoc, puede aprender algunos algoritmos superiores, como algoritmos de gráficos, temas como Árbol indexado binario, Árbol de segmentos, matriz de sufijos, etc. La mejor manera de aprender estos temas son los tutoriales de Topcoder.

Busque preguntas específicas para un algoritmo en particular y resuélvalas. El clasificador de problemas de SPOJ, el juez en línea A2 y las etiquetas de problemas de codechef le ayudarán a buscar una pregunta basada en un algoritmo en particular.

Paralelamente, puede practicar SRM en Topcoder, que es la mejor manera de mejorar las habilidades de programación.

Entonces puedes comenzar en la secuencia

1. Spoj (problemas ad hoc)
2. Aprende un Algo, resuelve problemas relacionados
3. Comience a participar en concursos en varios sitios en línea, como competencia de programación, concurso de programación, programación informática en línea,
Codeforces, topcoder.