Skip to content

Commit fe0bf11

Browse files
Se agrega alias al contenido del blog (#58)
* Se agrega alias al contenido del blog * Corrección en orden en archivos
1 parent b0af56b commit fe0bf11

File tree

124 files changed

+285
-127
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

124 files changed

+285
-127
lines changed

content/Comienza.md

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
---
22
title: Comienza
33
weight: 10
4+
aliases: ['/Comienza']
45
---
56

67
## Explora

content/Documentation/guia-para-la-propuesta-de-insignias-en-omegaup.md

+1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ author_email: '[email protected]'
66
date: Tue, 08 Oct 2019 14:54:10 +0000
77
draft: false
88
tags: ['Documentation', 'Ranking', 'badges', 'Contribuir a omegaUp', 'contribuir-a-omegaup']
9+
aliases: ['/guia-para-la-propuesta-de-insignias-en-omegaup']
910
---
1011

1112
Tú también puedes proponer nuevas insignias para la plataforma, simplemente debes tomar en cuenta las consideraciones que se detallan a continuación y abrir un issue en nuestro repositorio en Github haciendo clic [aquí](https://github.com/omegaup/omegaup/issues/new?assignees=&labels=&template=propuesta-para-nueva-insignia.md&title=%5BBadge+Proposal%5D+Nombre+de+la+Insignia).
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,61 @@
11
---
2-
title: 'Introducción a Omegaup, parte 2 - Problemas básicos'
3-
weight: 3
4-
author: 'joemmanuel'
5-
author_email: 'joemmanuel@gmail.com'
6-
date: Tue, 08 Oct 2013 14:48:09 +0000
2+
title: 'Introducción a omegaUp, parte 0'
3+
weight: 1
4+
author: 'lhchavez'
5+
author_email: 'lhchavez@omegaup.com'
6+
date: Fri, 29 Nov 2013 20:35:09 +0000
77
draft: false
8-
tags: ['Study material', 'Introducción a omegaUp']
8+
tags: ['Documentation', 'Problemas', 'Introducción a omegaUp']
9+
aliases: ['/introduccion-a-omegaup-parte-0']
910
---
1011

11-
Hola de nuevo. Continuando con la serie Introducción a Omegaup, esta vez vamos a hacer referencia a los problemas más sencillos de la plataforma a la fecha. [Aquí se encuentra la parte 1](http://blog.omegaup.com/2013/09/introduccion-a-omegaup/#more-406) de esta serie.
12+
{{< youtube NgaYc9eYBbo >}}
1213

13-
Para estos problemas, no se requiere conocer una técnica o un algoritmo en específico: simplemente requieren implementar (o simular) lo que se describe en el problema o hacer una o dos observaciones relativamente sencillas que permiten simplificar la implementación o acortar el número de operaciones que tu programa tendría que hacer y con ello poder resolver el problema dentro de los límites.
14+
Hola!
1415

15-
**Material de estudio**
16+
Hemos recibido varias preguntas sobre cómo se envían soluciones a omegaUp. Decidí escribir una introducción a omegaUp, antes de empezar a aprender a resolver problemas. En resumen:
1617

17-
Antes de pasar a la lista de problemas, quiero empezar con las lecturas recomendadas para empezar a resolver problemas en omegaUp:
18+
* El objetivo de los concursos es acumular más puntos que todos los demás participantes. En caso de empate, se toma en cuenta la suma de los penalties (dependiendo del concurso puede no haber penalties, ser el tiempo desde que inició el concurso hasta que enviaste la solución o el tiempo desde que abriste el problema por primera vez hasta que lo resolviste).
19+
* Jamás se te quitarán puntos por intentar resolver un problema: si ya habías enviado una solución con _x_ puntos, únicamente se cambiará tu puntuación y penalty si obtienes más de _x_ puntos.
20+
* Toda la entrada y salida se hace mediante entrada estándar ("teclado" y "consola"), y no debes imprimir nada que no indique el problema: no debes poner cosas como "Dame un número". omegaUp te proporcionará la entrada tal y como viene descrita en el problema.
21+
* Todos los problemas de Java **deben** tener Main como nombre de clase. Si usas cualquier otro nombre, te regresará un Runtime error.
22+
* cin (en C++) y Scanner (en Java) son relativamente lentos. En problemas donde haya mucha entrada, se recomienda usar scanf (en C/C++) y BufferedReader (en Java).
23+
* Toda la entrada y salida está en formato Unix: las líneas terminan con "\\n", no con "\\r\\n".
1824

19-
* [El Libro de Luis Vargas sobre Algoritmos.](https://omegaup.com/img/libropre3.pdf) Este es el libro que usamos para preparar a los preseleccionados de México para la Olimpiada Internacional de Informática. Su lectura completa es recomendada, sin embargo las secciones VII y II son fundamentales.
20-
* Los temas 1, 2, 4 y 5 [del blog de Pier Paolo](http://pier.guillen.com.mx/) sobre algoritmos.
21-
* [The Importance of Algorithms](http://community.topcoder.com/tc?module=Static&d1=tutorials&d2=importance_of_algorithms) (Topcoder Algorithm tutorials)
22-
* [Mathematics for Topcoders](http://community.topcoder.com/tc?module=Static&d1=tutorials&d2=math_for_topcoders) (Topcoder Algorithm tutorials)
25+
Primero veamos cómo luce la arena durante un concurso:
2326

24-
**Problemas directos**
27+
![](http://i.imgur.com/Px5IgWo.png?7695)
2528

26-
Estos concursos fueron diseñados para familiarizarse con la programación competitiva en general. Son excelentes para empezar y su solución generalmente no requiere dominar una técnica en específico, más bien requieren saber usar las construcciones (ciclos, condiciones, etc...) del lenguaje correctamente:
29+
El reloj de arriba, si es negativo, te dice cuánto tiempo falta para que inicie el concurso. Cuando es positivo, te dice cuánto tiempo falta para que termine el concurso. Una vez que llega a cero, el concurso se cierra y ya no puedes enviar problemas. Hay tres pestañas en esta vista:
2730

28-
* [Código Rush 2013 (Taller)](https://omegaup.com/arena/CR41Taller/practice)
29-
* [Código Rush Otoño 2013](https://omegaup.com/arena/CR41/practice)
30-
* [CUPA 2012 Warmup](https://omegaup.com/arena/CUPA2012warmup/practice)
31+
* **Problemas**: la que está mostrada arriba
32+
* **Ranking**: te muestra con una gráfica el progreso del top 10 del concurso con respecto al tiempo y también muestra el ranking general para el concurso. Esta información se actualiza casi en tiempo real, así que si no ves un cambio en el scoreboard, ten paciencia y en un par de minutos se reflejará. Ten en cuenta que en algunos concursos, faltando poco tiempo para el final (puede ser una hora o media hora), el ranking deja de actualizarse para meter más emoción =)
33+
* **Clarificaciones**: aquí puedes pedir clarificaciones específicas a la _redacción_ de un problema, si algo no es suficientemente claro. Este no es el lugar para preguntar por qué cierto código no funciona (ese es el chiste del concurso! que tú sepas), así que evítate la molestia porque los jueces no te responderán. A los jueces les toma un poco de tiempo leer todas las clarificaciones y responderlas adecuadamente, así que ten paciencia. Ponte a resolver otro problema mientras. **Nota**: a veces verás que hay una nueva clarificación sin que tú hayas pedido una. Léela, porque es una clarificación global, o los jueces están intentando avisarte de algo.
3134

32-
**Problemas no-tan-directos**
35+
En la sección de Problemas es donde pasarás la mayor parte del concurso. En la parte de la izquierda está la lista de problemas junto con dos números (como 0 / 100). Estos números indican cuántos puntos has acumulado en ese problema y cuántos puntos vale el problema en total. A menos que los casos estén mal y los jueces hayan decidido re-juecear todos los envíos de un problema, esos puntos no pueden bajar si haces más envíos a un problema. Abajo de la lista de problemas, hay un miniranking con los mejores 10 participantes. Faltando poco tiempo antes del concurso, esta tabla dejará de actualizarse, no te apaniques.
3336

34-
* [Engranes ](https://omegaup.com/arena/problem/engranes)([solución](http://blog.omegaup.com/category/soluciones-preselectivo/etapa-1/examen-1/))
35-
* [Lento](https://omegaup.com/arena/problem/lento) ([solución](http://blog.omegaup.com/2012/10/juego-lento-ethan-jimenez/))
36-
* [Subprimos](https://omegaup.com/arena/problem/subprimos) ([solución](https://gist.github.com/joemmanuel/6885731) de [diego\_futbolm](https://omegaup.com/profile/diego_futbolm))
37-
* [La venganza de Silvio](https://omegaup.com/arena/problem/VenganzaDeSilvio) ([solución](http://blog.omegaup.com/2013/08/solucion-a-la-venganza-de-silvio/))
38-
* [Las cartas del Dr. Lira](https://omegaup.com/arena/problem/CartasDrLira) ([solución](http://blog.omegaup.com/2013/07/solucion-a-las-cartas-del-dr-lira/))
39-
* [El tablero de Bety](https://omegaup.com/arena/problem/EltableroBety) ([solución](https://gist.github.com/joemmanuel/6885843) de [spleensarethebest](https://omegaup.com/profile/spleensarethebest))
40-
* [Triángulos](https://omegaup.com/arena/problem/triangulos) ([solución TriangleConstruction en Topcoder](http://community.topcoder.com/tc?module=Static&d1=hs&d2=match_editorials&d3=tchs07Rd1Gamma))
37+
Cuando selecciones un problema, verás la descripción de ese problema. En la mayoría de los concursos, se te agregará un penalty entre más te tardes en resolver un problema desde que inicia el concurso o lo abres por primera vez, así que trata de resolverlo lo más rápido posible. Este penalty **NO** te quita puntos, y solo se utiliza en caso de empates.
4138

42-
Tienes más sugerencias de problemas o dudas sobre los existentes? Escríbelos en los comentarios.
39+
![](http://i.imgur.com/jbEGHWK.png)
40+
41+
Hasta arriba viene una tablita con varias cosas útiles, como la cantidad de puntos máximos que te dará ese problema cuando lo resuelvas, el límite de tiempo que tienes para resolver _cada caso_ y el límite de memoria que tienes para resolverlo. Después viene la descripción del problema (que usualmente es una pequeña historia) y le descripción formal del problema, la descripción formal del formato de la entrada, la salida y algunos ejemplos que confirman la explicación. Algunos problemas también incluyen una sección con todos los límites de las variables expuestas en la descripción del problema. Si no entiendes algo del problema, siéntete libre de escribir una clarificación. Por último, encontrarás una pequeña tablita con todos los envíos que has realizado para ese problema
42+
43+
![](http://i.imgur.com/vAXlkP7.png)
44+
45+
Puedes ignorar el ID, se utiliza únicamente por si algún juez te lo pregunta en caso de que haya problemas con el problema y haya necesidad de rejuecear envíos. Lo importante son las columnas de Puntos y Penalty. La información que aparece en el ranking toma en cuenta el envío que hayas hecho que tenga más puntos (y en caso de empate, el que tenga menos penalty). La columna de status son dos letras que te dan una pequeña pista de qué pasó con tu envío en general:
46+
47+
* AC - Accepted. Tu envío resolvió correctamente todos los casos de prueba y obtuviste la máxima cantidad de puntos. Felicidades!
48+
* PA - Partially Accepted. Tu envío resolvió al menos un caso de prueba, pero hay al menos un caso que no resolviste correctamente. Intenta arreglar tu programa y vuélvelo a intentar.
49+
* WA - Wrong Answer. Tu programa no resolvió ningún caso correctamente.
50+
* TLE - Time Limit Exceeded. Al menos en uno de los casos, tu programa excedió el límite de tiempo. Intenta pensar en una solución más eficiente o busca en tu código si hay algún ciclo infinito.
51+
* MLE - Memory Limit Exceeded. El menos en uno de los casos, tu programa excedió el límite de memoria. Intenta pensar en una solución que utilice menos memoria. En C y C++, algunos MLE se pueden reportar como RTE, sobre todo si declaraste arreglos gigantes.
52+
* RTE - Runtime error. En al menos uno de los casos, tu programa tuvo un error fatal: puede ser una excepción en Java, no utilizaste "Main" como nombre de clase en Java, divisiones entre cero, desbordaste el stack, te saliste de los límites de un arreglo, etc. Vuelve a leer el problema y piensa qué casos se te olvió considerar y qué entrada puede hacer que tu programa se comporte de esta manera.
53+
* RFE - Restricted function. En al menos uno de los casos, tu programa intentó realizar una operación prohibida. En general, no puedes abrir ningún archivo, no puedes conectarte a internet, no puedes ejecutar otros programas y no puedes comunicarte con nada del sistema fuera del problema. Limítate a resolver el problema usando algoritmos.
54+
* CE - Compilation error. Tu programa no pudo ser compilado. omegaUp utiliza gcc y g++ en Linux, y usamos Java 1.6, así que podrían haber incompatibilidades entre tu ambiente de desarrollo y el que usamos nosotros. Si haces click en el botón de "Ver" el código, verás tu código seguido del error del compilador.
55+
* JE - Judge error. Un error interno de omegaUp. Esto no debería pasar nunca, pero si te sale, alguno de los jueces ya lo vio y lo resolverá lo más rápido posible, así que no es necesario que lo reportes. Intenta otro problema mientras tanto, y ten por seguro que no serás penalizado por ese envío, porque no fue tu culpa.
56+
57+
Como puedes darte cuenta, varios de los status no son mutuamente exclusivos. Siempre intentaremos el error más severo (los errores más severos están en la parte de abajo de esta lista), así que por ejemplo, si un envío te marca TLE y tienes algunos puntos, en ninguno de los casos detectamos un MLE ni un RFE, tuviste algunos casos bien, pero pudiste haber tenido otros casos mal y en al menos un caso excediste el límite de tiempo.
58+
59+
Si crees que tu programa está resolviendo bien el problema, deténte a pensar por qué podría estar mal. El 99% de las veces, el problema está bien (sobre todo si hay alguien más que ya lo logró resolver), pero si tienes evidencia que hay algún error en el problema (por ejemplo, si dice la descripción que no habrán números mayores a 1000, y en tu programa validas esto y haces que te devuelva un veredicto como MLE), por favor pide una clarificación con esta información y tu ID de envío para que los jueces lo revisen.
60+
61+
Ahora sí, estás listo para continuar con la [parte 1](/introduccion-a-omegaup/ "parte 1") del tutorial de omegaUp.

0 commit comments

Comments
 (0)