Beruflich Dokumente
Kultur Dokumente
A medida del desarrollo del libro se explican tips (trucos) que ayudan en acortar el
tiempo de codificación.
Deje que (x,y) sea la coordenada de la casa del estudiante en un plano 2d.
hay 2N estudiantes y queremos agrupar de par en par en N grupos. Di será
la distancia entre la casa de 2 estudiantes en el grupo i. Forme N grupos tal
que el costo ∑𝑁
𝑖=1 𝑑𝑖 sea el mínimo. La salida deberá ser el mínimo costo.
Ejemplo de entrada:
N=2, Coordenadas de las 2N=4 las casas son: (1,1) (8,6) (6,8) y (1,3).
Ejemplo de salida
Costo=4.83
A continuación se detallara los tipos de competidores, los cuales se encuentran
divididos entre 5 categorías: un competidor no competitivo (blurryone); un
competidor no competitivo A (blurryone); un competidor no competitivo B(give up);
(still)un competidor no competitivo C(Slow); Programador competitivo D;
Competidor muy competitivo.
La base para saber el como resolver un problema es analizar los datos de entrada
y en algunos casos los datos de salida, estoy identificaran el tipo de algoritmo a
usar, ejemplo: Mi algoritmo deberá ser O(1), o Mi algoritmo deberá ser O(N), y asi
viendo si deberá ser logaritmo y podrá ser exponencial y asi sucesivamente.
1.4. CONOZCA SU LENGUAJE DE PROGRAMACIÓN
Tal como en olimpiadas la práctica hace al maestro, es decir entrenar solo para el
campeonato de programación es lo que NO se debe hacer, sino entrenar por línea
y participar en lo campeonatos que las distintas paginas nos brindan, así como lo
son:
UVA
TOP CODER
LIVE ARCHIVE
OTROS
2. ESTRUCTURAS DE DATOS
Los distintos lenguajes de programación usan datos primitivos para todos sus
entornos de trabajo tal como lo son los enteros, decimales, cadenas, booleanos y
otros.
Tenemos tanto datos que serán variables y constantes (su valor no cambia a
través del tiempo), donde podemos mencionar que los valores variables son las
más utilizadas sin duda alguna.
Conejos:
Trata sobre hacer un ejercicio mas fácil dividiendo este en partes mas pequeñas:
En algunos problemas tan solo utilizar búsqueda binaria queda resuelto, estos
problemas son generalmente en los que los datos se encuentran ordenados y
debemos buscar algún dato entre todo el espacio de datos.
3.3. GREEDY
Bottom Up
Top Down
Longest incresing sub sequence o LIS
4. PROCESAMIENTO DE CADENAS
Este capitulo presenta algoritmos para las dos clases de problemas relacionados
con la manipulación de cadenas. Los problemas de la primera clase abarcan los
algoritmos para el emparejamiento de cadenas, búsqueda exacta y aproximada.
Los problemas de la segunda clase están relacionados con los algoritmos para la
compresión de cadenas, en ambos casos esto puede realizarse a través de los
diferentes paradigmas de resolución de problemas.
5. MATEMÁTICAS
Encontrar la formula
Secuencia de números
Logaritmos, exponenciación o potencias
Polinomiales
Variaciones entre base de los números
Tan solo Ad Hoc
6. GEOMETRÍA COMPUTACIONAL
Puntos 1D, 2D
Segmentos 1D, 2D hasta algunas veces 3D
Líneas 1D, 2D hasta algunas veces 3D
Círculos 1D, 2D hasta algunas veces 3D
Triángulos 1D, 2D hasta algunas veces 3D
Cuadriláteros 1D, 2D