Escribiría 3 de ellos:
- Codeforces
- Timus Online Judge
- TopCoder
Las razones siguen … (Bueno, no me refiero a sesgo hacia ninguna de las siguientes tres plataformas).
Codeforces
Sí, estoy de acuerdo con que Codeforces tiene un buen sistema que clasifica bien los problemas. Hay etiquetas en la mayoría de los problemas (que están ocultos antes de resolver el problema). Los usuarios que aceptan el problema pueden agregar / eliminar etiquetas .
- ¿Cómo se distribuye el pagerank?
- ¿Es cierto que dado cualquier gráfico con N vértices es un subgrafo inducido del subconjunto gráfico (N). ¿Cómo puedes probarlo o refutarlo?
- ¿Cuáles son algunos de los mejores libros sobre Estructura de datos y Algoritmo en Java para principiantes?
- ¿Es esta una función de clasificación de burbujas válida? Si es así, ¿entonces cómo?
- En un microprocesador 8085, ¿cómo podemos encontrar el número de ciclos de la máquina y el número de estados T de cualquier mnemónico dado?
En particular, me gusta la función de ” participación virtual ” (Concursos de visita – Codeforces). Puede simular participar en un concurso anterior con los participantes y ver el “marcador en tiempo real”. Estos concursos en línea se llevan a cabo aproximadamente semanalmente.
Los problemas son interesantes en general.
Puede ver la mayoría de los códigos fuente escritos por otros. Puede ordenar las soluciones por longitud de código / tiempo de envío.
(Uh, la interfaz de usuario es bonita y elegante).
Timus Online Judge
En mi opinión, muchos problemas en este DO son muy interesantes y novedosos, en lugar de ser demasiado estándar / clásicos.
Para la categorización, puede ver la página
- http://acm.timus.ru/problemset.aspx
y clasifique los problemas por categorías o dificultades (lo que supongo se basa en métricas como el número de envíos y la tasa de aceptación). Si te sientes ambicioso, prueba los problemas más difíciles.
Debajo de cada problema, hay etiquetas . Si crees que son spoilers, también puedes ocultarlos presionando el enlace ” Ocultar etiquetas para problemas no resueltos ” en cualquier problema.
Ocasionalmente, puede participar en tiempo real (o casi en tiempo real) en un concurso europeo subregional / regional ACM-ICPC. (http://acm.timus.ru/archive.aspx)
TopCoder
Esta es una de las plataformas internacionales de concurso de programación individual más populares. Puedes practicar en la sala de práctica para concursos de algoritmos pasados (también conocidos como SRM s – partidos de una ronda). Hay categorías para cada problema.
Pero podría ser un poco difícil de usar por primera vez. Primero, debe identificar cómo iniciar la arena (presionando el botón O(n)
en la esquina superior izquierda en http://community.topcoder.com/tc) con Java, luego debe saber cómo probar y envíe un fragmento de código y comprenda las diferentes fases (Descripción general del algoritmo – TopCoder Wiki) en un SRM … pero dada la calidad del problema que vale, si es serio.
También hay editoriales de muy alta calidad para coincidencias de algoritmos (Algorithm Problem Set Analysis). Por tema tutorial también está disponible (Algorithm Tutorials).
Muchos (incluido ACRush …) sugieren que este es un buen lugar para aprender y practicar DP.
Puede ver los códigos de otros en salas de práctica o en March Archive.