貪心算法學完了,我們也開始了dp的學習,當然在我感覺現如今學習的兩種演算法都是幫助我們去解決問題的方法,就是直接性的公式套用的解題思路。就例如dp中的數塔問題,利用dp轉化成動態表達方程就很好的解決,不用再乙個個的情況列出來在排序這樣的解決問題。
dp要實現的就是將複雜問題簡化,在我們不能直接將問題求解的時候,我們通常會採用分步求解,在我們學習過的只是貪心和dp都可以實現這種想法,不同的是,貪心演算法是將每一步的最優解求出來通過求出的最優解來進行下一步的最優解的求取,dp是將一部分一部分的最優解求出,再從這些最優解中比較得出最厚的最優解,這樣相比而言貪心得到的是部分最優解可能不是全域性最優解,而dp卻可以最大程度上保證得到的解釋全域性最優解。
時間比較緊,內容量大,這是初學者的必不可少遇到的問題,這畢竟是實用性學科,要想掌握,只能通過大量的時間去堆積去做題來熟練自己掌握的知識點。因為,星期三晚上時間比較緊,我就先不整理dp的基礎內容,先將這段時間對dp的理解寫下來。
學習筆記 DP 經典模型
首先我們可以發現,貪心是行不通的。見 hack 1 10 1 10 1 1 0 0 0 100假如每次都選可以走的點中最大的,那麼走出來的是 1 10 10 0 20 但實際上,我們可以走 1 10 1 100 112 這也是最優路徑。所以,我們考慮動態規劃 dp 設 f 表示從第 i 行第 j 列...
樹形DP學習總結
概述 樹形dp是dp的一種,有時候會和區間dp結合。由於樹有著天然的遞迴結構 父子結構 而且它作為一種特殊的圖 可以描述許多複雜的資訊 因此在樹就成了一種很適合dp的框架 問題 給你一棵樹 要求用最少的代價 最大的收益 完成給定的操作 樹形dp 一般來說都是從葉子從而推出根 當然 從根推葉子的情況也...
區間DP學習總結
這段時間學習了區間dp,所以試著把學到的東西稍作總結,以備不時之需。學習區間dp首先要弄清區間dp是為了解決什麼問題 一般的dp主要是特徵是一次往往只操作乙個數值或者儲存可以不連續的物品的狀態 比如揹包問題中,每乙個點儲存的狀態中,拿到的物品的編號並不要求一定連續 而區間dp,則是要求dp陣列中每個...