¿Cuáles son algunos algoritmos clásicos de programación dinámica unidimensional?

Me vienen a la mente la mochila, el cambio de monedas y los problemas de subsecuencia cada vez mayores.


Subsecuencia creciente más larga (LIS)

Problema: Dada una secuencia, determine su LIS; tenga en cuenta que ‘subsecuencia’ no es necesariamente contigua.

Dada la secuencia {-7, 10, 9, 2, 3, 8, 8, 1}, el LIS es {-7, 2, 3, 8}.


Cambio de moneda (CC)

Problema: Dada una cantidad objetivo de V centavos y una lista de denominaciones de N monedas, ¿cuál es la cantidad mínima de monedas que debemos usar para obtener la cantidad V?

Dada una cantidad objetivo de 10 con 2 monedas de denominación 1 y 5, el número mínimo de monedas es 2 (2 monedas de 5 centavos).


Mochila

Problema: Dada una mochila de capacidad W y los pesos y valores de N elementos, coloque los elementos en la mochila para obtener el valor total máximo en la mochila.

Dada una mochila con capacidad de 50 lb y 3 artículos (10 lb – 60, 20 lb – 100, 30 lb – 120), el valor total máximo es 220.

Prueba FARIDA en spoj. Enésimo fibonacci. Subsecuencia creciente más larga.

Busque los videos de Tushar Roy sobre programación dinámica. Obtendrás lo que necesitas.

More Interesting

Programación competitiva: ¿Se pueden resolver todos los problemas de Fenwick Tree con Segment Tree?

¿Cuáles son algunos campos en CS en los que puedo considerar entrar si mis intereses principales son las matemáticas y el diseño de algoritmos?

Cómo explicar el análisis de casos promedio del algoritmo de ordenación rápida

¿Qué modelos matemáticos se utilizan en la clasificación IR?

Cómo declarar un conjunto de cadenas de tamaño desconocido para obtenerlo del usuario sin usar la función de asignación en C

¿Cómo se fragmentan los archivos en el hadoop en 64 MB o 128 MB? ¿Cuál es el algoritmo utilizado para fragmentar los archivos?

¿Es posible implementar algoritmos de aprendizaje automático en lenguaje ensamblador?

¿Cuál es el algoritmo detrás de la agregación de noticias de Facebook News alrededor de una palabra clave en particular?

¿Cuál es la mejor manera de demostrar sus habilidades como ingeniero de software junior durante una entrevista que no sea la implementación de algoritmos sofisticados y estructuras de datos?

Cómo ejecutar un algoritmo escrito en C

¿Qué es un problema algorítmico que es fácil de resolver en Haskell pero difícil de resolver en Python?

¿Se puede aplicar BFS a gráficos ponderados?

¿Cuáles son los componentes o algoritmos de subsistema mejor diseñados en Linux?

¿Cómo se puede resolver una variante del problema 3-SAT en tiempo lineal usando divide y vencerás?

¿Cuáles son las amplias variedades en programación dinámica que se preguntan con frecuencia en los concursos de codificación?