¿Cuál debería ser mi estrategia de preparación si apunto a competiciones como ACM-ICPC y Google Code Jam?

  • Práctica. La programación competitiva es un deporte y, como todos los demás deportes, debes practicar para ser bueno en él. Practica tanto como puedas.
  • Participa en concursos cortos. Los concursos largos le brindan la oportunidad de aprender, pero no ayudan mucho cuando se trata de ICPC y Code Jam. Necesitas pensar rápido. Necesitas actuar rápido. La velocidad de implementación es a menudo un factor crítico. Los SRM y Cookoff son un buen punto de partida.
  • Lea sobre estructuras de datos y algoritmos. Lea los básicos de los libros. Estructuras de datos avanzadas de Google. Lea blogs de programación competitiva para comprenderlos. Resolver problemas basados ​​en ellos.
  • Como principiante, comience a aprender por temas. Puede encontrar una buena lista de temas para preparar junto con preguntas sobre cada tema aquí: Programa de campamento de programación. También puede consultar A2 Online Judge que clasifica los problemas según el tema.
  • Siempre lea sobre editoriales. Muchos programadores competitivos (como yo) no pueden hacer una observación clave en una declaración de problema. Puedes desarrollar esta habilidad leyendo los editoriales después del concurso y luego descubriendo lo que te perdiste.
  • Aprende STL. Implementar usando STL es mucho más rápido que las alternativas. Así que asegúrese de conocer bien las plantillas comunes.
  • Para Code Jam, puede usar sus propios códigos pasados ​​en rondas en línea al menos. Así que asegúrese de tener acceso a implementaciones eficientes de algoritmos de uso común. ¡A veces todo lo que tiene que hacer es cambiar algunos parámetros!
  • Participa en concursos de práctica junto con tu equipo. El trabajo en equipo es a menudo crítico. Algunos problemas se resuelven con facilidad cuando lo miras de manera diferente.
  • Una vez que conozca bien la mayoría de los temas básicos, resuelva preguntas al azar. En esta etapa, la resolución de preguntas por temas dificulta su creatividad porque ya conoce la lógica central detrás del problema.

More Interesting

¿Cómo me preparo para una entrevista de prácticas en Google?

¿Puedo tomar DJ como carrera?

¿Cuál es el mejor enfoque para obtener entrenamiento para el cambio de camino a mitad de carrera?

¿Los candidatos SWE a tiempo completo rechazados por el Comité Ejecutivo de Google debido a "no alinearse con las necesidades comerciales" quedan en la lista reducida para la próxima vez que presenten su solicitud?

Cómo comenzar mi carrera en el campo de IOT

¿Qué es la contabilidad de costos?

¿Qué debería dominar antes de los 25 años que me dé la mejor ventaja en cualquier carrera?

¿Puedo hacer 100k al mes como operador de opciones binarias o 40k al mes como operador de día?

Como ingeniero, ¿qué es mejor: el sector gubernamental o el sector privado?

¿Qué consideraciones especiales deben hacerse al preparar mi CV cuando solicito trabajo en Noruega?

¿Cuáles son algunos cursos de certificación en línea que son útiles para los estudiantes de ingeniería eléctrica durante las prácticas?

Estoy interesado en sistemas embebidos, procesamiento de señales y seguridad informática. ¿Debería enfocarme solo en uno de estos campos o hay trabajos que requieran una combinación de ellos?

Soy desarrollador de Drupal desde hace 3 años y ahora Co. me está pidiendo que trabaje en Teamsite. ¿está bien trabajar en eso?

¿Cuál es la mejor manera de prepararse para un turno de trabajo de 24 horas?

Estoy solicitando un trabajo que requiere que el solicitante sea elegible para la 'Autorización de confianza pública', ¿qué significa eso?