En primer lugar, debe comprender en qué preguntas se aplica DP. Y créanme si entienden esto, la mitad del trabajo está hecho.
DP tiene dos requisitos básicos:
1. Superposición de subproblemas: establece que no hay dos subproblemas que sean exclusivos.
2. Subestructura óptima: Estados que suponen que si conoce la solución a un subproblema y puede encontrar la solución óptima para el problema original, esta propiedad es válida.
Luego, una vez que decida que es un problema de DP, hay tres pasos.
1. Encuentra la solución recursiva para el problema. (Todos los problemas de DP tienen soluciones recursivas)
2. Encuentre el caso base para ello.
3. Ahora intente convertir el código en código DP colocando bucles en lugar de recurrencia e intente considerar de abajo hacia arriba.
- Estoy en un programa maestro de Stanford que le permite tomar hasta 2/3 de sus unidades para crédito / no crédito en lugar de una calificación de letra. ¿Hay alguna razón externa (además de que afecte su motivación) para no tomar clases con crédito / sin crédito?
- Mi hermano consiguió un auto nuevo y sus etiquetas temporales caducaron en febrero. Como todavía no lo tiene plateado, ¿qué pasará?
- Acabo de leer que las ganancias del RBI son más de 52 mil millones de rupias, lo que la convierte en la unidad de ganancias más grande de la India. ¿Cómo obtiene el RBI este tipo de beneficio?
- Tengo mucha suerte en todas las cosas de mi vida, ¿por qué me pasa eso?
- Mi clarinete está chirriando mucho. ¿Qué podría estar causando esto?
También puede hacerlo de arriba hacia abajo, se llama memorización.
Siga el siguiente tutorial:
http://www.codechef.com/wiki/tut…
Este es probablemente el mejor tutorial en la web. Repase los problemas e intente resolverlos. Estoy seguro de que encontrarás muchas cosas interesantes aquí 🙂
Tenía un muy buen pdf para el tutorial DP, si lo encuentro seguramente lo compartiré aquí.