Saltar al contenido principal

Manual del alumnado

Una guía breve e ilustrada para el alumnado: tu primer acceso, cómo explorar el banco de problemas, enviar una solución, entender los veredictos y cómo funcionan el XP, las insignias y las ligas semanales.

Descargar el manual del alumnado (PDF)

Dominio

Cada usuario puede crear sus propios dominios. Por ejemplo, un profesor puede crear un dominio para su curso y añadir los problemas y a los alumnos a ese dominio. También se puede usar un dominio como espacio de equipo.

Configurando adecuadamente los roles y sus permisos, un dominio puede ser público o privado.

El dominio por defecto es «system»: es el que se visita al acceder directamente a Hydro, y al pulsar el logotipo se vuelve a él desde cualquier dominio.

El banco de problemas, las discusiones, los entrenamientos y los concursos de cada dominio son independientes y autónomos.

Versión y parámetros de los compiladores

Hydro utiliza HydroJudge para evaluar los envíos. Los parámetros de compilación y las versiones de los compiladores pueden consultarse en la página de estado.

Límites

El juez de Hydro mide el tiempo consumido usando el tiempo de CPU del proceso; el límite es el indicado en cada caso de prueba del problema.

El juez de Hydro mide el consumo de memoria sumando la memoria virtual y la física del proceso. El límite por defecto es de 256 MiB, salvo que el problema indique otro distinto.

E/S

Salvo indicación expresa, Hydro usa la entrada y la salida estándar (consola, STD I/O).

Estado del juez

  • Waiting Evaluación: la petición está a la espera de que un juez la recoja
  • Fetched Evaluación: un juez ha recogido la petición y se prepara para evaluarla
  • Compiling Evaluación: compilando
  • Judging Evaluación: compilación correcta, evaluando
  • Accepted Aceptado: la salida del programa es totalmente correcta
  • Wrong Answer Rechazado: la salida no coincide con la respuesta esperada (sin contar espacios finales de línea ni líneas vacías al final del fichero)
  • Time Limit Exceeded Rechazado: el programa supera el límite de tiempo del problema
  • Memory Limit Exceeded Rechazado: el programa supera el límite de memoria del problema
  • Runtime Error Rechazado: error en tiempo de ejecución (índices fuera de rango, división por cero, desbordamientos, punteros no válidos...)
  • Compile Error Rechazado: error de compilación
  • System Error Error: error del sistema (si te ocurre, infórmanos en el foro de discusión)
  • Canceled Otros: evaluación cancelada
  • Unknown Error Otros: error desconocido
  • Ignored Otros: envío ignorado
La marca «puntuación anulada» indica que un administrador ha anulado manualmente ese registro, posiblemente por incumplir las condiciones del servicio, por ejemplo por un código demasiado parecido al de otro usuario.

Error de compilación

Puede deberse a alguna de estas causas:

  • 1. Elegiste un lenguaje equivocado al enviar
  • 2. En Java, la clase principal no se llama "Main"
  • 3. Para C/C++: ver más abajo
  • 4. Un error de compilación corriente

Aviso especial para quienes usan C/C++:

  • 1. __int64 debe escribirse como long long en GNU C++
  • 2. main() debe declararse como int, no como void
  • 3. La variable de control i de un for como "for (int i = 0...) {...}" deja de existir al terminar el bucle
  • 4. itoa no es una función ANSI estándar (no existe en C/C++ estándar)
  • 5. El formato %lf en printf no es correcto

Entrenamiento

Hemos seleccionado cuidadosamente algunos problemas para componer planes de entrenamiento. ¡Entra desde «Entrenamientos» en la barra de navegación!

Concurso

Según el formato del concurso se aplican distintas reglas de envío y clasificación.

En los formatos IOI, XCPC, Ledo e IOI (estricto), cada problema admite varios envíos y se obtiene el resultado de la evaluación en tiempo real.

En los formatos IOI, XCPC y Ledo, la clasificación es visible durante el concurso.

En el formato OI solo cuenta el último envío de cada problema; en particular, evita los errores de compilación.

Clasificación en OI: gana quien tiene más puntuación total; a igual puntuación, mismo puesto.

En el formato XCPC, cada envío incorrecto añade 20 minutos de penalización al problema.

Clasificación en XCPC: primero quien resuelve más problemas; a igual número de problemas, quien acumula menos tiempo (penalizaciones incluidas).

En el formato Ledo, enviar varias veces reduce la puntuación; la clasificación muestra la puntuación máxima de cada usuario.

En Ledo, la puntuación final de cada problema es $s \times \max(0.95^{n}, 0.7)$, donde $s$ y $n$ son la puntuación del envío y el número de intentos previos.

Clasificación en Ledo: de mayor a menor puntuación según la regla anterior.

En el formato IOI (estricto), la puntuación de cada problema en la clasificación es la suma de la mejor puntuación de cada subtarea entre todos los envíos.

Los límites de tiempo y memoria son los indicados en cada problema; los límites por defecto se describen en Límites.

Tasa de aceptación

La tasa de aceptación tiene efectos muy perniciosos; Hydro no la calcula ni la reconoce.

Algoritmo de RP

El RP se obtiene resolviendo problemas y participando en actividades, concursos, etc.

Algoritmo de dificultad

La dificultad de los problemas de Hydro se calcula mediante un algoritmo a partir del número de envíos, la tasa de aceptación y el momento y el veredicto de cada envío.

Ten en cuenta lo siguiente:

  • 0. En general, cuanto mayor es el valor, más difícil es el problema.
  • 1. La dificultad de los problemas nuevos puede ser imprecisa; se vuelve más fiable cuando el problema acumula muchos envíos.
  • 2. Los envíos más tempranos influyen más en la dificultad.
  • 3. Al calcularse algorítmicamente, el resultado puede no ser exacto.

Formato del conjunto de datos

Contraseña o nombre de usuario olvidados

Si no puedes iniciar sesión, piensa primero si recuerdas bien tu nombre de usuario. Por ejemplo, puede que el nombre que querías ya estuviera registrado y acabaras usando uno con prefijo o sufijo.

Si crees que tu cuenta ha sido robada o has olvidado el usuario o la contraseña, usa cuanto antes Restablecer contraseña o recuperar nombre de usuario.

Markdown

Las zonas Markdown de Hydro usan la sintaxis CommonMark, ampliada con estas funciones:

  • Fórmulas matemáticas con sintaxis KaTeX.
  • Mencionar usuarios con @[](/user/uid).
  • Resaltar texto con ==texto==.
  • Fijar el tamaño de una imagen con ![alt](url =100x100).
  • Insertar un vídeo con @[video](https://.../a.mp4).
  • Insertar un vídeo externo con @[bilibili](BVxxx).
  • Insertar un PDF con @[pdf](https://.../a.pdf).
  • En problemas/concursos/tareas/entrenamientos, enlazar adjuntos con el formato file://nombre-del-fichero. (Recomendado)
  • Se admite un subconjunto de etiquetas HTML.