Seperti yang ditunjukkan @Suresh, setelah Anda tahu bahwa masalah Anda dapat diselesaikan dengan DP (yaitu menunjukkan substruktur yang optimal dan subproblem yang tumpang tindih), Anda mungkin memikirkan solusi membagi dan menaklukkan rekursif.
Tentu saja, membagi dan menaklukkan akan sangat tidak efisien karena setiap masalah yang dihadapi dalam pohon rekursi yang terkait akan dipecahkan lagi bahkan jika sudah ditemukan dan dipecahkan. Di sinilah DP berbeda: setiap kali Anda menemukan subproblem, Anda menyelesaikannya dan menyimpan solusinya dalam sebuah tabel. Kemudian, ketika Anda menemukan lagi subproblem itu, Anda mengaksesnya di O (1) waktu solusinya daripada menyelesaikannya lagi. Karena jumlah subproblem yang tumpang tindih biasanya dibatasi oleh polinomial, dan waktu yang diperlukan untuk menyelesaikan satu subproblem juga polinomial (jika tidak, DP tidak dapat memberikan solusi yang hemat biaya), Anda mendapatkan secara umum solusi polinomial.
Karena itu, memikirkan solusi membagi dan menaklukkan akan memberi Anda wawasan tentang apa subproblem mungkin untuk masalah khusus Anda.