<?xml version="1.0" encoding="utf-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"><channel><title>MagicLen</title><link>https://magiclen.org/tag/dynamic-programming/feed</link><description>多元化原創文章，內容包羅萬象，有程式語言、網站應用、軟體介紹、硬體介紹、作業系統、旅行遊記、專題採訪、益智問題、文學創作，以及作者們的知識分享和作品分享。</description><language>zh-TW</language><lastBuildDate>Mon, 13 Apr 2026 00:06:14 +0000</lastBuildDate><sy:updatePeriod>hourly</sy:updatePeriod><sy:updateFrequency>8</sy:updateFrequency><sy:updateBase>1970-01-01T00:00+00:00</sy:updateBase><item><title>用動態規劃解決問題：零壹背包問題(0/1 Knapsack Problem)</title><link>https://magiclen.org/dynamic-programming-0-1-knapsack-problem</link><description><![CDATA[    <img src="https://magiclen.org/wp-content/uploads/2020/04/technology-1283624_1920-220x162.jpg" srcset="https://magiclen.org/wp-content/uploads/2020/04/technology-1283624_1920-220x162.jpg 1x, https://magiclen.org/wp-content/uploads/2020/04/technology-1283624_1920-440x324.jpg 2x, https://magiclen.org/wp-content/uploads/2020/04/technology-1283624_1920-660x486.jpg 3x" alt="">
一個背著背包的小偷闖空門偷東西，他必須趁屋主回來之前把有價值的物品塞進包包內帶走。考慮到小偷自身的行動力，背包能裝的物品總重量有限，小偷要如何選擇物品才能獲得最高的總價值？]]></description><category>研究分享</category><category>Java</category><category>Rust</category><category>演算法</category><category>Go</category><category>JavaScript</category><category>Java</category><category>JavaScript</category><category>Rust</category><category>TypeScript</category><category>動態規劃</category><category>Go</category><guid>https://magiclen.org/dynamic-programming-0-1-knapsack-problem</guid><pubDate>Tue, 4 Aug 2020 12:00:41 +0800</pubDate><dc:creator>Magic Len</dc:creator></item><item><title>用動態規劃解決問題：找零錢問題(Coin Change Problem)</title><link>https://magiclen.org/dynamic-programming-coin-change</link><description><![CDATA[    <img src="https://magiclen.org/wp-content/uploads/2020/04/technology-1283624_1920-220x162.jpg" srcset="https://magiclen.org/wp-content/uploads/2020/04/technology-1283624_1920-220x162.jpg 1x, https://magiclen.org/wp-content/uploads/2020/04/technology-1283624_1920-440x324.jpg 2x, https://magiclen.org/wp-content/uploads/2020/04/technology-1283624_1920-660x486.jpg 3x" alt="">
許多人認為身上如果帶太多的零錢會讓行動變得不方便，因此會希望商店店員在找零錢的時候能夠以最少的硬幣數來找，而不是全部都用1元塞給我們。]]></description><category>研究分享</category><category>Java</category><category>Rust</category><category>演算法</category><category>Go</category><category>JavaScript</category><category>Java</category><category>JavaScript</category><category>Rust</category><category>TypeScript</category><category>動態規劃</category><category>Go</category><guid>https://magiclen.org/dynamic-programming-coin-change</guid><pubDate>Tue, 28 Jul 2020 12:00:30 +0800</pubDate><dc:creator>Magic Len</dc:creator></item><item><title>用動態規劃解決問題：基本觀念(有重疊子問題的問題)</title><link>https://magiclen.org/dynamic-programming-basic</link><description><![CDATA[    <img src="https://magiclen.org/wp-content/uploads/2020/04/technology-1283624_1920-220x162.jpg" srcset="https://magiclen.org/wp-content/uploads/2020/04/technology-1283624_1920-220x162.jpg 1x, https://magiclen.org/wp-content/uploads/2020/04/technology-1283624_1920-440x324.jpg 2x, https://magiclen.org/wp-content/uploads/2020/04/technology-1283624_1920-660x486.jpg 3x" alt="">
動態規劃(Dynamic Programming，簡稱DP)是一種解決問題的技巧，主要被用來優化那些「記不住自己過去曾解出來的答案所以只好重複再解」的演算法，讓它們可以「記憶」已經找出來的答案，從而不斷利用，以大大降低時間複雜度(從指數級降到線性)。]]></description><category>研究分享</category><category>Java</category><category>Rust</category><category>演算法</category><category>Go</category><category>JavaScript</category><category>Java</category><category>JavaScript</category><category>Rust</category><category>TypeScript</category><category>費氏數列</category><category>動態規劃</category><category>Go</category><guid>https://magiclen.org/dynamic-programming-basic</guid><pubDate>Tue, 21 Jul 2020 12:00:16 +0800</pubDate><dc:creator>Magic Len</dc:creator></item></channel></rss>