Cálculo de la subsecuencia palindrómica más larga mediante programación dinámica
El desafío consiste en encontrar la longitud de la subsecuencia más larga dentro de una cadena s que cumpla con la propiedad de ser un palíndromo. A diferencia de un subsegmento contiguo, una subsecuencia se forma eliminando cero o más caracteres sin alterar el orden relativo de los caracteres restantes.
Por ejemplo, si la entrada es "bbba ...
Publicado el 7-18 20:23
Guía de Ejercicios en Programación Dinámica con Código en C++
Problema: Calcular el número de formas de alcanzar sumas específicas usando un conjunto de items, y luego determinar el efecto de remover cada item individualmente.
Solución: Se utiliza DP para calcular todas las combinaciones y luego se sustrae la contribución de cada item usando recálculo parcial.
// Código modificado para el problema P4141
# ...
Publicado el 7-12 07:53
Resolución en C++ del problema USACO P2954 Grazing2 S
Problema de asignación de vacas a puestos de establo: se tienen N vacas (2 ≤ N ≤ 1500) y S puestos (N ≤ S ≤ 1,000,000) en una línea, con distancias unitarias entre puestos adyacentes. Dadas las posiciones iniciales P_i de las vacas, se deben reubicar para que las distancias entre vacas adyacentes difieran en a lo sumo 1 de D = ⌊(S-1)/(N-1)⌋, pr ...
Publicado el 7-3 17:25
Algoritmos para Grillas y Secuencias en Programación Competitiva
Problema 1: Grilla
La solución inicial de 60 puntos utiliza un enfoque ineficiente O(n⁴). La versión óptima mantiene componentes conectados mediante una estructura union-find. Al desplazar una ventana de m×m, solo se actualizan las dos columnas afectadas. Se calcula el área máxima sumando el tamaño de los componentes adyacentes a la ventana.
#i ...
Publicado el 6-28 20:57
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
Compresión de estados en programación dinámica
La compresión de estados consiste en representar múltiples estados como un único valor, comúnmente mediante bits. En problemas que requieren una progresión secuencial, como la programación dinámica convencional, solo se maneja un estado a la vez, lo que resulta insuficiente para escenarios con estados múltiples. Por ello, se emplea la compresió ...
Publicado el 6-24 20:41
Estrategias Algorítmicas y Optimización en C++ para Competencias de Programación
Análisis de Problemas y Técnicas de Optimización
En el ámbito de la programación competitiva, la resolución de problemas complejos requiere no solo un conocimiento profundo de las estructuras de datos, sino también la capacidad de identificar patrones matemáticos y aplicar optimizaciones algorítmicas. A continuación, se presenta un aálisis técn ...
Publicado el 6-22 17:05
Principio de Inclusión-Exclusión en Problemas de Conteo
El principio de inclusión-exclusión es una técnica combinatoria esencial para calcular el tamaño de la unión de conjuntos mediante intersecciones. A continuación, se analizan dos problemas aplicados con soluciones en código.
Problema de Codeforces 803F
El objetivo es encontrar el número de secuencias donde el máximo común divisor (MCD) de todos ...
Publicado el 6-21 01:43
Técnicas de Programación Dinámica:DP sobre DP
Para clarificar, se distingue entre un DP interno con arreglo f y un DP externo con arreglo F.
Problema BZOJ3864:Encuentro entre Héroes
Este problema se trasladó a la plataforma LuoGu. Sirve como ejemplo clásico para esta técnica.
Enunciado
Dada una cadena S con un alfabeto compuesto por los caracteres ACGT. Se define LCS(S, T) como la longitu ...
Publicado el 6-13 19:01
Problemas y Soluciones del AtCoder Grand Contest 017
Descripción: Hay \(N\) bolsas de galletas, cada una con \(A_i\) galletas. Se deben seleccionar algunas bolsas para comer todas las galletas, de modo que el total sea congruente con \(P\) módulo 2. Encuentra el número de formas de selección posibles.
Solución
Se utiliza combinatoria para resolverlo. Para \(P=1\), las bolsas con número par de gal ...
Publicado el 6-11 23:32