學好dp的乙個關鍵點在於刷遍所有型別的dp題目
閆式dp分析法的核心思想是從集合的角度來分析dp問題。
所有的dp問題都可以使用閆式dp分析法進行分析。(經過70道題目驗證通過?)我們可以把做過的所有dp問題都看作是有限集上的最值問題。
dp問題 == 有限集上的最值問題然而,由於這個有限集的數量級很高(通常是指數級別的),所以肯定不能暴力地進行列舉,時間複雜度會過高。則需要使用dp來進行優化,dp的兩個階段:
化零為整,尋找共性——狀態表示
所謂化零為整是指我們對於零星的情況,不是乙個乙個去列舉,而是每次根據這些零星的情況的某些特性去列舉一類情況(即乙個子集)化整為零,尋找不同——狀態計算f(i)需要考慮的問題:
如何去求那麼問題來了,怎麼進行集合f(i)
呢?我們要把它們劃分成若干個不同的子集來求,每乙個子集分別去求。需要滿足的條件有:
f(i)
的劃分呢?
尋找最後乙個不同點。
集合的描述一般是有套路的:所有滿足條件1,條件2的元素的集合。
這個條件1和條件2一般對應到我們的狀態表示的每一維。
一般是根據題目是要求什麼來確定的。
集合f(i)
的劃分就是尋找最後乙個不同點。對於01揹包問題,最後乙個不同點就是,選第i
個物品和不選第i
個物品是兩種不同的方案。
注意:
閆氏DP分析法
閆氏dp分析法 核心 從集合角度分析dp問題 1.狀態表示 f i 2.狀態計算,化整為零的過程 例題1,01揹包問題 有n件物品和乙個容量式v的揹包,每件物品只能使用一次 第i件物品的體積式vi,價值是wi 求將這些物品裝入揹包,可使這些物品的總體積不超過揹包容量,且總價值最大 dp狀態表示 f ...
杜邦分析法 漏斗分析法和矩陣關聯分析法
資料分析工作涉及到很多的分析方法,比如說杜邦分析法 漏斗分析法以及矩陣關聯分析法,這些方法都是能夠幫助我們更好地進行資料分析工作。在這篇文章中我們就給大家介紹一下關於杜邦分析法 漏斗分析法和矩陣關聯分析法的相關知識,希望能夠更好地幫助大家增長見識。1.杜邦分析法 資料分析中的杜邦分析法是由美國杜邦公...
基於LR分析法的簡單分析法
一 課程設計目的 通過設計 編制 除錯乙個簡單計算器程式,加深對語法及語義分析原理的理解,並實現詞法分析程式對單詞序列的詞法檢查和分析。二 課程設計內容及步驟 本次課程設計需要使用 lr 分析法完成簡單計算器的設計,其中算術表示式的文法如下 無符號整數 數字 標誌符 字母 表示式 項 項 因子 因子...