Concurso de Invitación de Xiangtan 2018
Enunciado:
Se tiene un total de sum(a[i]) artículos, donde a[i] representa la cantidad de artículos que tienen exactamente i citas. Se debe encontrar el valor máximo h tal que al menos h artículos tengan cada uno al menos h citas.
Enfoque:
Utilizamos búsqueda binaria para determinar el valor óptimo de h. Es crucial interpretar correctamente la ...
Publicado el 7-22 20:28
Técnica de Retroceso (Backtracking) en C++
El retroceso es un algoritmo para encontrar soluciones mediante la exploración sistemática de candidatos, descartando aquellos que no cumplen con los requisitos del problema. Se implementa típicamente mediante una búsqueda en profundidad (DFS), a menudo usando recursividad.
Ejemplo: Generación de números de dos dígitos
Imprimir todos los número ...
Publicado el 7-11 08:53
Soluciones de código para problemas de algoritmos en C++: Palíndromos y Suma de Tres Números
Problema A: Palíndromos (Anagramas)
Límite de tiempo: 2 Seg Límite de memoria: 10 MB Envíos: 322 Resueltos: 59
Descripción del problema
Un palíndromo (anagrama) es una palabra formada por las mismas letras que otra, como eat y tea. Dada una lista de palabras, se deben encontrar todos los grupos de palíndromos.
Entrada
La entrada consta de dos l ...
Publicado el 7-8 19:04
Algoritmos de Árboles Binarios: Búsqueda de Valores, Sumas de Rutas y Construcción de Estructuras
Valor Más a la Izquierda del Árbol
Utilizando un recorrido por niveles, guardamos el primer valor de cada nivel. Así, cada vez que procesamos un nivel, actualizamos el valor izquierdo, hasta llegar al último nivel.
class Solucion {
public:
int encontrarValorInferiorIzquierdo(NodoArbol* raiz) {
cola<NodoArbol*> cola;
...
Publicado el 6-14 01:02