Sunteți pe pagina 1din 8

Lineamientos para Problemas de la OMI en

Etapa Nacional
Luis Enrique Vargas Azcona
23 de septiembre de 2010

Resumen
Descripción de una propuesta respecto a la teoría que puede ser de

interés para problemas de la Olimpiada Mexicana de Informática en su

etapa nacional.

1. Justicación
Está bastante claro que los conocimientos para poder participar en la etapa
estatal son: Básicos de Álgebra, Trigonometría y Lógica.
Sin embargo, en la etapa nacional ocurre otra cosa, y es que no está claro
qué clase de problemas se les pueden poner.
En el 2004 quedó el acuerdo de que para el nacional solamente se requería sa-
ber usar Karel, conocimientos muy básicos sobre programación en C/C++/Pascal,
y saber cómo resolver problemas.
Año con año el nivel ha estado aumentando, y ya no está claro qué tipo
de teoría pueden requerir los problemas de nacional. Además, muy pocos par-
ticipantes saben resolver problemas, y aquellos que saben resolver problemas
también saben bastante teoría.
Muchas veces se pensó en poner como problema difícil alguno muy original en
idea y que no requiriera casi teoría. Ejemplos de estos problemas son: secuencia
circular(2005), secuencias estables(2006), ternas(2007), camiones(2007) y sumas
adyacentes(2008).
La mayoría de esos problemas nadie los resolvió, y si descartamos los que
resolvieron ternas usando demasiada memoria(que por un descuido de la evalua-
ción fueron aceptados esos códigos pero normalmente no deberían de aceptarse),
los únicos que pudieron resolver problemas de ese estilo ya conocían una gran
cantidad de algoritmos.
En el 2009, pensando en eso, ya se volvió a poner problemas que usan algo de
teoría, sin embargo, es conveniente precisar qué tipo de problemas son de interés
para la etapa nacional, para ayudar a los entrenadores que quieran empezar a
preparar a los estados, para que los participantes se informen adecuadamente y
para evitar favoritismos accidentales a los estados de origen de los miembros del
COMI (cada estado con experiencia tiene su propia lista de temas importantes,
y eso se reeja en lo que consideran importante los miembros del COMI, hay
que tener una lista única para evitar que las preferencias teóricas inuyan). .
Si bien ya existe un documento parecido a este para la IOI, no podemos poner
cualquier cosa válida para la IOI en la etapa nacional.

1
2. Clasicación
Este documento clasica a los temas en 4 categorías:

Requerido. Aquellos temas que pueden ser necesarios para entender los
problemas. Ejemplo: número entero.

Incluido. Estos temas no son necesarios conocerlos previamente para en-


tender los problemas pero sí pueden ser necesarios para resolver los pro-
blemas. También pueden aparecer en la descripción de los problemas pero
explicándolos. Ejemplo: sucesión aritmética.

No necesario. Estos temas son aquellos que pueden servir para resolver
los problemas, pero las soluciones ociales nunca los van a usar. Es de-
cir, no son indispensables pero pueden dar ventaja. Ejemplo: Árboles de
Fenwick.

Excluido. Estos temas son aquellos que se alejan de los problemas de


interés para la olimpiada nacional, no aparecerán en soluciones ociales y
cualquier solución alternativa que los use es pura coincidencia.

3. Listado de Temas
Aritmética
Requerido: Suma, resta, multiplicación, división y exponenciación con en-
teros.

Requerido: Propiedades de enteros(positivo, negativo, par, impar, divisi-


ble, primos).

Requerido: Bases de numeración.

No necesario: Números complejos, números algebráricos, números reales.

Teoría de números
Requerido: Deniciones de número primo, primos relativos.

Requerido: Denición de divisible.

Requerido: Denición de módulo.

Incluido: Aritmética modular con sumas, restas y multiplicaciones.

Incluido: Mínimo común múltiplo y máximo común divisor.

Incluido: Criba de Eratostenes.

Incluido: Paridad.

Excluido: Pequeño teorema de Fermat, teorema de Euler.

2
Geometría
Requerido: punto, segmento, pendiente, ángulo, rectas, rectas paralelas,
rectas perpendiculares.

Requerido: cordenadas, origen, ejes de cordenadas.

Requerido: Polígono, área, perímetro, afuera/dentro.

Requerido: Triángulo, rectángulo, cuadrado, círculo.

Incluido: Distancia euclideana, teorema de Pitágoras.

No necesario: Vectores.

No necesario: Funciones trigonométricas.

Excluido: Secciones cónicas, geometría en el espacio, geometrías no eucli-


deanas.

Relaciones
Requerido: Órden lexicográco.

Requerido: Deniciones recursivas.

Requerido: Concepto de mayor, menor, mayor o igual, menor o igual en


números enteros y en racionales.

Incluido: Funciones (inyectiva, suprayectiva, inversas).

Incluido: Órden total, órden parcial.

Incluido: Relaciones de equivalencia.

Excluido: Conjuntos bien ordenados, conjuntos bien fundados.

Lógica y Conjuntos
Requerido: Conjuntos.

Requerido: Conectivos lógicos (los conectivos y, ó, ó exclusivo, en nuestro


idioma, no es necesaria la notación de lógica simbólica).

Incluido: Lógica proposicional.

Incluido: Tablas de verdad.

Incluido: Lógica cuanticacional(para todo/existe uno).

Incluido: Modus ponens y modus tollens.

Incluido: Nociones de implicación, contradicción, contrapositivo e inverso.

No necesario: Estructura de una prueba formal.

Excluido: Cardinalidad, lógica difusa.

3
Técnicas de Conteo
Requerido: Principios básicos(regla de la suma, producto, incluisión-exclusión,
recursión, biyecciones y principio de las casillas), estos principios básicos
se pueden obviar en la descripción, dado que son muy naturales, y es mejor
no llamarlos por su nombre en la descripción del problema.

Incluido: Suma de progresiones aritméticas.

Incluido: Permutaciones, combinaciones.

Incluido: Función factorial, coecientes binomiales.

No necesario: Teorema del binomio.

No necesario: Suma de progresiones geométricas.

No necesario: Números de Catalan.

Excluido: Solución de recurrencias lineales.

Grafos
Incluido: Árboles y sus propiedades básicas.

Incluido: Grafos dirigidos y no dirigidos(conceptualmente para modelar


los problemas, no es necesario que conozcan técnicas estándar para imple-
mentarlos).

Incluido: Recorridos de grafos.

No necesario: Implementaciones de matriz de adyacencia, listas de adya-


cencia y otras estrategias estándar de implementación de grafos.

No necesario: Ordenamiento topológico.

No necesario: Árboles de expansión.

No necesario: Circuitos de Euler.

No necesario: Álgoritmos de camino mas corto(Dijkstra, Floyd, Bellman-


Ford, etc.)

Excluido: Planaridad, ujos.

Álgebra
Requerido: Variable, constante, jerarquía de operaciones, ecuaciones.

Incluido: Vectores en Rn , matrices.

No necesario: Producto escalar.

No necesario: Algoritmos para resolver sistemas de ecuaciones(ej. elimina-


ción Gaussiana).

No necesario: Exponenciación de matrices.

4
No necesario: Propiedades de los determinantes.

Excluido: Valores y vectores propios, diagonalización.

Excluido: Bases, espacios vectoriales distintos de Rn , campos.

Excluido: Teorema de la dimensión.

Lenguajes de Programación
Requerido: Sintaxis básica y semántica de C, C++ ó Pascal.

Requerido: Variable, tipos de datos, expresiones y asignaciones.

Requerido: Entrada y salida estándar.

Requerido: Estructuras de control condicionales e iterativas.

Requerido: Funciones.

Excluido: Gramáticas y expresiones regulares.

Excluido: Entrada y salida no estándar(conio.h está prohibido).


Excluido: Otros lenguajes de programación.

Excluido: Opciones de compilación.

Algoritmos y Solución de problemas


Incluido: Estrategias de solución de problemas(véase el libro Cómo Plan-
tear y Resolver Problemas de George Polya).

Incluido: Estrategias de implementación de algoritmos.

Incluido: Estrategias de depuración.

Incluido: Validez de los algoritmos.

Incluido: Posiciones ganadoras y perdedoras

Incluido: Eciencia de los algoritmos en tiempo y memoria.

Incluido: Notación O grande.

Excluido: Complejidades distintas de O grande

Excluido: Teorema maestro.

Excluido: Análisis empírico de los algoritmos.

5
Estrategias Algorítimicas
Incluido: Algoritmos de fuerza bruta.

Incluido: Algoritmos glotones (esto incluye invarianzas e inducción).

Incluido: Backtracking/fuerza bruta.

Incluido: Divide y vencerás recursivo.

Incluido: Programación dinámica.

Incluido: Algoritmos min-max.

No necesario: Máscaras de bits.

Excluido: Algoritmos de reconocimiento de patrones.

Excluido: Algoritmos de aproximación.

Excluido: Funciones de acotamiento.

Excluido: Heurísticas.

Excluido: Métodos numéricos de aproximación.

Algoritmos numéricos
Incluido: Criba de eratostenes.

No necesario: Algoritmo de Euclides.

No necesario: Algoritmos para factorizar.



No necesario: Chequeo de primaridad por O( N ) vericaciones.

No necesario: Aritmética con enteros grandes.

Excluido: Algoritmos numéricos en reales.

Algoritmos de Ordenamiento
Incluido: Selección, Burbuja, Inserción, Mezcla y cubetas.

No necesario: Quicksort, shellsort.

Estructuras de datos
Requerido: Tipos de dato primitivos(booleanos, enteros y caracteres).

Requerido: Arreglos(también los multidimensionales).

Requerido: Cadenas de caractéres.

Incluido: Pilas, colas y listas enlazadas.

Incluido: Estrategias de implementación en memoria estática.

6
Incluido: Árboles binarios de búsqueda y sus recorridos.

Incluido: Tablas de dispersión.

Incluido: Estrategia de leer toda la entrada y precomputar antes de hacer


consultas.

No necesario: Árboles de rangos.

No necesario: Montículos.

No necesario: Unión-Pertenencia.

No necesario: Manejo de memoria dinámica.

No necesario: Tries, árboles de sujos, arreglos de sujos.

No necesario: Árboles AVL, Rojinegros

Algoritmos Geométricos
Incluido: Intersección de segmentos.

Incluido: Estrategia de recta que barre.

No necesario: Algoritmo para encontrar envolvente convexa.

No necesario: Algoritmo para calcular el área de un polígono simple.

No necesario: Algoritmos que usan la recta que barre(es decir, la recta


que barre es solo inspiración para las soluciones, no es necesario conocer
algoritmos que la usen).

No necesario: Par de puntos mas cercanos.

Excluido: Diagramas de Voronoi.

Miscelanea
No necesario: Programación orientada a objetos.

Excluido: Criptología.

Excluido: Algoritmos paralelos.

Excluido: Sistemas operativos.

Excluido: Arquitectura de computadoras.

Excluido: Computación distribuida.

Excluido: Análisis y diseño de lenguajes de programación.

Excluido: Interacción Humano-Máquina.

Excluido: Computación visual y procesamiento de grácos.

Excluido: Sistemas inteligentes.

7
Excluido: Manejo de información.

Excluido: Problemas sociales y profesionales.

Excluido: Cálculo, probabilidad, estadística.

Excluido: Planeación de proyectos en equipo.

Excluido: Programación orientada a componentes.

S-ar putea să vă placă și