Para obtener buenos resultados en TopCoder SRM, uno debe ser bueno en combinatoria, algoritmos codiciosos, programación dinámica, gráficos y teoría de juegos. Por supuesto, no es toda la lista, pero creo que cubre alrededor del 70-80% de los problemas.
Vale la pena leer un libro escrito para competiciones de matemáticas. Te ayudará a resolver diferentes tipos de acertijos, juegos, combinatoria, etc. Es aún más importante de lo que parece, porque generalmente tienes que resolver algún acertijo, notar o probar alguna propiedad antes de poder aplicar un enfoque estándar. Tener una prueba formal de la solución es lo mejor que puede tener durante cualquier concurso 🙂 Le da confianza, que si el problema no es aceptado, entonces hay un error en la implementación, no la idea. Es más fácil de arreglar y no te obliga a reescribir toda la solución.
Por supuesto, no olvides que la práctica hace la perfección. Simplemente resuelva un SRM por día, lea el editorial o encuentre problemas relacionados con los temas anteriores en CodeForces y resuelva tantos como pueda todos los días. Intenta hacerlo lo mejor posible antes de mirar el editorial.
¡Buena suerte!
- ¿Cuál es el problema P versus NP en informática?
- ¿Qué tipo de problemas se pueden resolver instantáneamente en las computadoras?
- Cómo implementar un programa en C para un polinomio como un tipo de datos abstractos (ADT)
- ¿Todas las integrales pueden ser calculadas por una computadora? Del mismo modo, ¿hay integrales en este momento que los matemáticos no puedan resolver?
- ¿Existe una función que defina la relación entre el dígito inicial de un entero y el número de términos cuando se agrega infinitamente?