Hola lectores, bienvenidos a mi blog sobre análisis de problemas de programación en jueces en línea. Aquí analizaré problemas de diversos jueces en línea y sus respectivas soluciones, desde problemas simples hasta problemas geométricos, pasando por Programación Dinámica. En este artículo se describirán los jueces en línea que he utilizando así como información básica acerca de este blog.
Hola lectores, bienvenidos a mi blog sobre análisis de problemas de programación en jueces en línea. Aquí se analizarán problemas de diversos jueces en línea y sus respectivas soluciones, desde problemas simples hasta problemas geométricos, pasando por Programación Dinámica. En este blog principalmente se analizarán problemas de TopCoder, SPOJ y del Google CodeJam. Sin embargo, también he trabajado con otros jueces por algún tiempo; a continuación se mostrará una lista describiéndolos, incluyendo enlaces a estos:
- TopCoder: Los problemas de las competencias algorítmicas (Algorithm Track) son buenos para conseguir una mayor velocidad y precisión a la hora de resolver problemas, los cuales están clasificados por división y dificultad. Además, la arena permite probar las soluciones, ver en que casos fallaron y sus respuestas correctas, lo cual es muy útil para aprender. TopCoder además proveé competencias más largas (Marathon Matches), los cuales contienen problemas mucho más complicados cuyo propósito es conseguir la solución más aproximada posible, debido a que la solución exacta es imposible de obtener en el tiempo estipulado.
- Sphere Online Judge: Este juez en línea provee dos tipos de problemas: clásicos (Classic) y retos (Challenge). Las soluciones a los problemas clásicos o están correctas o incorrectas, mientras que los retos son evaluados utilizando alguna métrica, como el número de respuestas correctas o la longitud del código fuente. Además, los problemas generalmente están bien estructurados, el sistema es rápido y soporta diversos lenguajes de programación, incluyendo lenguajes esotéricos como Intercal, Brainfuck y Whitespace.
- Google CodeJam: En el 2008, Google realizó una nueva competencia de programación llamada el Google CodeJam, la cual funciona con un nuevo sistema que mezcla características de la IOI, el ICPC y TopCoder, e incluye varios problemas interesantes. Logré llegar a las semifinales realizadas en New York en el 2008, y logré llegar a la 3ra ronda en el 2009 (mi nombre de usuario es jbernadas, pueden ver mis resultados y mis soluciones en el scoreboard si lo desean).
- UVa Online Judge: Trabajé en este juez por tres años, pero lo abandoné a favor de SPOJ después de que "actualizaron" su sistema. Parece que ya tienen el nuevo servidor, así que debería revisar este juez con más frecuencia.
- CII Live Archive: Este juez tiene problemas de maratones regionales y mundiales previos de la ICPC, el sistema es rápido pero sus soporte para Java es malo (Java v1.1). Sin embargo, esto nunca me ha afectado debido a que utilizo C++ principalmente.
La idea de este blog es analizar problemas en estos jueces y dar algunas pistas y código fuente. Todo el código fuente en este blog estará escrito en C++ al comienzo y por algo de tiempo, ya que es el lenguaje que más he utilizado (por más de cinco años). También sé Java pero no lo utilizo mucho para las competencias, y actualmente estoy aprendiendo Python.
Trataré en la medida de lo posible actualizar este blog regularmente, publicando un análisis al menos una vez por semana, y si consigo más tiempo libre podría publicar con más frecuencia. También revisen los enlaces en la columna, ahí hay enlaces a herramientas creadas por otros programadores que pueden resultar útiles para buscar problemas por tópicos o probar sus soluciones.
No hay comentarios.:
Publicar un comentario