簡單DP入門基礎知識

2021-08-21 11:53:16 字數 628 閱讀 1617

對於乙個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 幀第...