OCI2020: Prueba 1 de Entrenamiento
Ya comenzamos con la Primera Prueba de Entrenamiento para los estudiantes de preuniversitario que se preparan para participar en el Concurso Nacional de Cuba a celebrarse en el mes de Febrero del 2020 sobre un Jurado Online. El temario es de cuatro problemas tratando de que existen ejercicios para todos los estudiantes según el nivel de preparaión que posean.
La competencia tendrá una duración de 3 horas pero la podrán realizar en cualquier momento del periodo que esté activa en el sitio.
Problems
Problem | Points | AC Rate | Users |
---|---|---|---|
Salvando al planeta | 100p | 4.4% | 20 |
El leñador Pablo | 100p | 15.4% | 103 |
El gusanillo | 100p | 40.0% | 319 |
Cortar el césped | 100p | 2.9% | 2 |
Comments
Disculpen, anteriormente había escrito la solución del problema "Clasificando fracciones" de la prueba 4. Ahí va "Salvando al planeta”: Problema: Nos dan dos números y en sus representaciones en binario, nos piden calcular . tiene tamaño y tiene tamaño () . Solución: Lo primero es que no podemos convertir estos números a decimal porque necesitaríamos al menos bits de memoria; por tanto necesitamos trabajar con ellos en binario. Para llegar a la solución haremos sencillas observaciones:
"Salvando al planeta". Problema: Nos dan dos enteros A y B, y nos piden clasificar la fracción A/B en finita o infinita periódica. Solución:A es muy grande para guaradarlo en algún tipo de dato de c++, así que tenemos que guardarlo en un arreglo. Digamos que A = B*Q + R, (con 0 <= R < B) donde Q es el cociente de A/B, R = A % B.Entonces Como Q es entero, nos basta con saber si (A % B)/B es finita o infinita. A%B < B <= , por tanto si lo podemos guardar en un entero de 64 bits, y lo podemos computar fácilmente con una pasada lineal sobre el arreglo en el que guardamos a A. Ahora, tenemos una fracción y queremos saber si es finita o infinita periódica, primero volvamos la fracción irreducible dividiendo numerador y denominador por el gcd de ambos, o sea: el numerador y el denominador se vuelven coprimos. Digamos que la fracción es finita y tiene k cifras después de la coma: . Multiplicamos por y nos queda que es entero, como B es coprimo con R, B debe ser divisor de , lo cual solo pasa si B es múltiplo de 2 y 5 solamente. Para chequear esto último, dividimos B por 2 todo lo que sea posible y luego lo dividimos por 5 todo lo que sea posible; si después de esto B > 1, es porque B es múltiplo de algún primo diferente de 2 y de 5, y por tanto, la fracción es infinita.
"el gusanillo". Problema: nos dicen que hay una rama de longitud L, que las hojas consecutivas están a distancia P, y que el gusano se mueve D unidades en cada momento. Si cae en una hoja, se la come. Nos dicen además que siempre hay una hoja en la posición 0 y que el gusano empieza en la posición 0. Cuántas hojas se come? Solución: Obviamente, las hojas están en las posiciones múltiplos de P. Y el gusano cae (al moverse) en todos los múltiplos de D, entonces lo que queremos saber es cuántas posiciones 0 <= x <= L son múltiplos de D y de P a la vez. Un número x es múltiplo de P y D si y solo si x es múltiplo de lcm(D,P) -el mínimo común múltiplo de D y P. Entonces la solución es la cantidad de múltiplos no negativos de lcm(D,P) menores o iguales que L, esta cantidad es la parte entera inferior de: Para computar lcm(P,D), usamos lo siguiente: donde gcd(a,b) es el máximo común divisor de a y b. En c++ está implementada una función que computa el gcd de dos números: __gcd(a,b), toma tiempo O(log(min(a,b))), usa el algoritmo de Euclides.
algunos han hablado de que publiquen las editoriales. La verdad es que no todos los problemas tienen editoriales redactadas. Entonces, la alternativa es discutir aquí. Comenzaré explicando esta prueba y seguiré después con las demás.
Seria bueno que publicaran los editoriales al final del contest !!!...
seria bueno q ya acabado el contest publicaran editoriales para los problemas
seria bueno q ya acabado el contest publicaran editoriales para los problemas
seria bueno q ya acabado el contest publicaran editoriales para los problemas
seria bueno q ya acabado el contest publicaran editoriales para los problemas
Salve el planeta!!!!
This comment is hidden due to too much negative feedback. Show it anyway.
This comment is hidden due to too much negative feedback. Show it anyway.
This comment is hidden due to too much negative feedback. Show it anyway.
Vamos concursantes ya comenzamos con los concursos para que vallan preparándose con vista al Concurso Nacional y la Copa Regional del 2020....
leocar entonces hay copa regional este año?