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

La programación dinámica se trata de usar las soluciones de subproblemas para resolver el problema real. Por lo tanto, encontrar series de Fibonacci con memorización es una programación dinámica, también lo es encontrar la suma de prefijos y muchas otras simples.

La mayoría de los DP son intuitivos con suficiente experiencia (aunque no todos). Pero el punto sigue siendo cómo usar la respuesta formulada en función de las soluciones de los subproblemas. Como su pregunta, enumeraré algunos DP clásicos que debe conocer, muchos de los problemas de DP están inspirados en

  • Encontrar la distancia mínima de edición
  • Encontrar el palíndromo más largo
  • Multiplicación de cadena matricial
  • Problema de vendedor ambulante (recorriendo todas las ciudades)
  • Subarray de suma más grande
  • Subcadena y subsecuencia común más largas
  • Suma máxima que aumenta subsecuencia
  • Floyd Warshall
  • Cambio de moneda
  • Partición casi igual (matriz de partición en 2 subconjuntos de modo que la diferencia de suma sea mínima)
  • Problema de suma de subconjuntos (si puede resolver esto, el problema anterior de la partición igual se resolverá automáticamente)
  • Juegos simples de MaxMin

Una vez que profundice, todos los problemas parecerán interrelacionados porque realmente lo están. 🙂

A partir de ahora, no puedo pensar en más problemas clásicos de DP. Espero eso ayude.

Los 10 mejores algoritmos DP utilizados en la programación competitiva

  1. Subsecuencia común más larga
  2. Subsecuencia creciente más larga
  3. Editar distancia
  4. Partición mínima
  5. Formas de cubrir una distancia
  6. El camino más largo en la matriz
  7. Problema de suma de subconjunto
  8. Estrategia óptima para un juego
  9. 0-1 Problema de mochila
  10. Programación de línea de montaje

Todos los algoritmos DP

Vaya al siguiente enlace y practique porque puede obtener una amplia variedad de preguntas y solo a través de la práctica puede conquistar este arte de la programación competitiva.

Programación dinámica: de principiante a avanzado

TODO LO MEJOR.!