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