對於乙個dp問題,首先將問題分解,任選乙個最優解的子狀態分析,與原問題(原狀態)有什麼關係。
列出狀態轉移方程,這個尤為重要
• 其基本思想是,將原問題分解為相似的子問題,在求解的過程中通過子問題的解求出原問題的解。 •
狀態定義:如何描述乙個子問題?
• 定義要明確。
• • 狀態轉移方程:如何由子問題構造出原問題的解?
• 邊界條件、初始條件
• 遞推順序
例如:對於數字矩形:
9 6 5 8 4
6 4
5 7 6
8 6 7 5 3
從左上角(9)走到右下角(3)每次只能向右或者向下,求所有路徑中權值最大
分析問題後列出狀態轉移方程:
dp[i][j]=max(dp[i-1][j],dp[i][j-1])+a[i][j];
圍繞著狀態轉移方程進行問題的解決
典型題型有:
01揹包、完全揹包、多重揹包、分組揹包、二維揹包、lis(最長上公升子串行)、lcs(最長公共子串行)
合併石子、區間dp、狀壓dp
後續更新部落格:01揹包與lis、lcs問題
schema基礎知識入門
schema是用於描述和規範xml文件的 邏輯結構 的一種語言,它最大的作用就是驗證xml 檔案邏輯結構 的正確性。可以理解成與dtd 文件型別定義 功能差不多,但是schema在當前的web開發環境下優越很多。因為它本身就是乙個有效的xml文件,因而可以更直觀地了解xml的結構。除此之外,sche...
Oracle入門基礎知識
oracle入門基礎知識 是基於物件的關聯式資料庫,oracle產品免費,服務收費 客戶端工具有預設的sql plus,第三方工具pl sql developer,還有企業管理器,從oracle 10g開始支援b s的企業管理器 開始工作前,oracle伺服器需要啟動監聽服務,客戶端需要配置本地網路...
ffmpeg入門基礎知識
如果你是在windows環境下,則可以先裝svn的乙個客戶端tortoisesvn 非常好用,強烈推薦 他安裝完成後會整合在右鍵選單中,點checkout選單,在彈出的介面中輸入 svn 3.關於frame的一些基本知識 3.1幀速率 幀速率是每秒顯示的影象數。標準影片 ntsc 是29.97 幀第...