هر تکه را فقط یک بار حل کنید
بهخاطرسپاری فیبوناچی را نجات داد. برنامهریزی پویا (dynamic programming یا DP) این نجات را به روشی برای مسئلههای سختتر تبدیل میکند: ساختن مبلغ دقیق با سکه، شمردن مسیرها، پیدا کردن ارزانترین برنامه. دستور کار هیچوقت عوض نمیشود: مسئله را به نسخههای کوچکتر بشکنید، هر نسخه را یک بار حل کنید و جواب را از پایین به بالا بسازید.