Como señaló @Suresh, una vez que sepa que DP puede resolver su problema (es decir, exhibe una subestructura óptima y subproblemas superpuestos), puede pensar en una solución recursiva de dividir y conquistar.
Por supuesto, dividir y conquistar será muy poco eficiente porque cada subproblema encontrado en el árbol de recursión asociado se resolverá nuevamente, incluso si ya se ha encontrado y resuelto. Aquí es donde DP difiere: cada vez que encuentra un subproblema, lo resuelve y almacena su solución en una tabla. Más tarde, cuando encuentre nuevamente ese subproblema, accederá en su solución en lugar de resolverlo nuevamente. Dado que la cantidad de subproblemas superpuestos generalmente está limitada por un polinomio, y el tiempo requerido para resolver un subproblema también es polinomial (de lo contrario, DP no puede proporcionar una solución rentable), en general se obtiene una solución polinómica.O (1)
Por lo tanto, pensar en una solución de divide y vencerás te dará una idea de lo que puede ser un subproblema para tu problema en particular.