Notas de competencia de algoritmos: Implementación en C++
La competencia simulada se llevó a cabo con una duración de tres horas. A cnotinuación, se detallan los puntajes obtenidos para cada problema:
Problema
Puntaje máximo
Puntaje obtenido
A
50
50
B
70
70
C
110
110
D
110
20
E
110
30
El puntaje total fue de 280 de 450 posibles.
Problema A: Sudoku
El problema consiste en validar una ...
Publicado el 6-26 05:07
Ascensor Peculiar: Resolución con Búsqueda en Anchura
Existe un edificio conNpisos. Cada pisoitiene asociado un valorKi(0 ≤Ki<=N). Un ascensor especial opera en este edificio con solo dos botones: "Subir" y "Bajar".
Al estar en el pisoi, si se presiona el botón "Subir", el ascensor se moveráKipisos hacia arriba, llegando al pisoi + Ki. De manera similar, al presion ...
Publicado el 6-24 18:44
Diámetro de un Árbol: Técnicas de Programación Dinámica y BFS
El diámetro de un árbol es la lnogitud del camino más largo entre dos nodos. Existen enfoques eficientes para calcularlo, como la programación dinámica en árboles y el algoritmo de doble búsqueda en amplitud (BFS).
Programación Dinámica en Árboles
Puede manejar aristas con pesos negativos.
Complejidad temporal: O(n).
Sea distancia[x] la máxima ...
Publicado el 6-24 07:06
Relleno de espacios interiores en matrices con círculos cerrados: Algoritmos BFS y DFS
El prbolema consiste en una matriz cuadrada de tamaño n x n (1 ≤ n ≤ 30) compuesta por valores 0 y 1, donde los 1 forman una forma cerrada. El objetivo es cambiar todos los 0 dentro de esa forma cerrada a 2. Un 0 se considera interior si, al desplazarse solo en las cuatro direcciones (arriba, abajo, izquierda, derecha) a través de otros 0, no s ...
Publicado el 6-24 02:20
Implementación de Colas en Python
Propiedades Fundamentales
Orden FIFO: Los elementos se procesan en el mismo orden en que se añadieron.
Operaciones en extremos opuestos: La inserción ocurre en el extremo trasero (rear), y la extracción en el extremo frontal (front).
Acceso restringido: Solo se tiene acceso directo al elemento en el frente; los demás no son accesibles directam ...
Publicado el 6-19 06:08
Solución al problema de la isla con dos jugadores
Descripción del problema
Se nos presenta un problema de cooperación entre dos jugadores en un laberinto representado por una cuadrícula de n×m. Cada casilla puede ser terreno libre (.), trampa (#) o portal de salida (@). Ambos jugadores comienzan en la misma posición y deben moverse simultáneamente en direcciones opuestas. Si uno de ellos alcan ...
Publicado el 6-17 23:04
Algoritmo de búsqueda en amplitud (BFS) con estructura de cola
La búsqueda en amplitud (BFS, por sus siglas en inglés) es un algoritmo fundamental para explorar estructuras de datos como grafos o árboles. Su principio central consiste en visitar todos los vecinos directos de un nodo antes de avanzar al siguiente nivel de profundidad, expandiéndose de manera horizontal como las ondas en el agua.
Contextos d ...
Publicado el 6-11 05:01
Resumen de Problemas de Algoritmos para Exámenes de Posgrado (Años Anteriores)
Año 2025
Especialidad Maestría
Problema 1: Diferencia Máxima
Fuente: Luogu P5146. Encontrar la máxima diferencia entre dos elementos donde el menor aparece antes del mayor.
// Código optimizado para lectura
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int N = 1e6 + 10;
ll arr[N];
int main() {
ios::sync_wi ...
Publicado el 6-6 19:22
Árboles Binarios: Definiciones, Recorridos y Algoritmos en C++
Definiciones Fundamentales
Nodo: Elemento básico que almacena datos y puede apuntar a nodos secundarios.
Nodo raíz: Nodo inicial sin padre, punto de entrada del árbol.
Nodo hijo: Nodo directamente conectdao a un nodo padre.
Nodo padre: Nodo que tiene al menos un hijo.
Nodo hermano: Nodos que comparten el mismo padre.
Nodo hoja: Nodo sin hijos, ...
Publicado el 6-6 05:05