Si puedo resolver un problema de TopCoder Div2-500 en no más de 15 minutos, ¿debo practicar en Div2-1000 o en Div1-250?

No haga que su objetivo sea “Quiero aumentar mi calificación en Topcoder”, hágalo “Quiero ser mejor”.
Div1-250 debería ser más fácil que Div2-1000. Sin embargo, cada uno de estos 2 te hará desarrollar una habilidad diferente.
Los problemas Div1-250 son generalmente fáciles. La mayoría de las veces, dependen de alguna propiedad oculta en la entrada que debe tener en cuenta para resolver el problema.
Por otro lado, los problemas div2-1000 son problemas un poco más difíciles, que requieren una lluvia de ideas profunda, manejar muchos casos difíciles y, finalmente, escribir un código un poco complicado.

Para mejorar los algoritmos y la resolución de problemas, deberá practicar ambos tipos de problemas. Debe mejorar al analizar el problema y mejorar al escribir código largo y complicado. Cuando domines esas dos habilidades, podrás resolver div1-250 y div2-1000 regularmente y tu calificación aumentará. También podrá combinar esas habilidades y acercarse a Div1-500.

Depende de lo que quieras decir con “práctica”. No toda “práctica” es igual.

Los problemas de la División I 250 a menudo no son mucho más difíciles que los problemas de la División II 500. En un buen número de concursos (y en la mayoría de los SRM anteriores), son exactamente lo mismo. En la mayoría de los otros concursos, la versión Div I es generalmente un poco más difícil, pero solo en el sentido de que hay otro elemento, como una condición adicional o más para determinar, que no afecta la intención del problema. (Por ejemplo, LCMSet en SRM 611 es esencialmente un número lineal de implementaciones de LCMSetEasy). Hay concursos en los que Div I Easy y Div II Medium son completamente diferentes, pero en mi experiencia, no hay una brecha significativa en la dificultad.

Los problemas de la División II 1000 son probablemente más fáciles pero comparables a los problemas de la Div I 500, pero evidentemente son mucho más difíciles que los de la Div II 500 y más difíciles que los de la Div I 250 según lo que dije anteriormente. Al igual que muchos otros codificadores de alto azul / bajo amarillo, generalmente puedo resolver el Div I Easy en un tiempo razonable, pero rara vez (o en mi caso, nunca …) el Div I Medium, aunque he resuelto algunos fuera de concurso para practicar.

Soy de la filosofía de que generalmente uno debería tratar de resolver los problemas un poco más difícil de lo que debería hacer. Por esta razón, generalmente trato de Div II 1000 y Div I 500 para aprender realmente, al menos cómo resolver problemas difíciles, y Div II 500 y Div I 250 para ser más consistente (más velocidad, menos errores, etc.). Quince minutos ya es un tiempo bastante razonable para resolver Div II 500 / Div I 250s, por lo que recomendaría probar problemas más difíciles.

Dicho esto, no tiene que limitarse a ciertos niveles de problemas.

Generalmente div-1 250 y div-2 500 son la misma dificultad y requieren las mismas habilidades sobre las propiedades de la entrada y el manejo de las restricciones del problema. Div2 1000 requiere escribir un código y algoritmos más complejos.