¿Cuáles son algunos problemas de nivel intermedio en los que es imprescindible comprender la corrección de los algoritmos (y por qué)?

No sé por qué la respuesta de Michael fue rechazada, pero aparte del escenario de “solo aparece una persona que recuerda una tarea de una competencia para sugerir”, creo que la opción más fácil es mirar a los jueces automáticos si tienen algunas estadísticas. Por ejemplo, si ve en las estadísticas de algún problema que muchas personas que lo intentaron obtuvieron TLE, un porcentaje significativamente mayor que el habitual, es muy probable que la solución fácil de encontrar tenga una complejidad peor de lo que parece por intuición, por lo que las personas que no se molestan en analizar el algoritmo aprenden que tiene una complejidad demasiado mala solo después de haberlo codificado y haber obtenido TLE. Desafortunadamente, es más difícil hacer lo mismo con ANS, ya que si ve muchos ANS, no sabe si las personas tenían un algoritmo incorrecto o si perdieron algunos casos extremos o simplemente tuvieron errores. En tal escenario, probablemente los jueces con la comunidad asociada sean su mejor opción para que pueda ver algún foro sobre la tarea: si las personas están corrigiendo a otras personas que pensaban que tenían la solución, entonces podría ser el tipo de ejercicio donde la solución obvia se convierte fuera incorrecto si comienza a analizarlo (también, si puede esperar que alguien recuerde un problema en mente para satisfacer sus necesidades, su única oportunidad es preguntar en tales foros, en Quora tiene muy pocas probabilidades).

Es posible que desee examinar problemas pasados ​​para competiciones como ACM-ICPC, que se califican automáticamente y son estrictos para obtener resultados formados adecuadamente y cubren todos los casos de esquina. Creo que se usa UVa Online Judge. Lo sentimos, no conozco de inmediato un enlace perfecto.