四邊形不等式優化dp

2022-04-02 18:53:52 字數 809 閱讀 7059

原文

在動態規劃中,經常遇到形如下式的轉台轉移方程:

m(i,j)=min+w(i,j)(i≤k≤j)(min也可以改為max)

上述的m(i,j)表示區間[i,j]上的某個最優值。w(i,j)表示在轉移時需要額外付出的代價。該方程的時間複雜度為o(n^3)。

下面我們通過四邊形不等式來優化上述方程,首先介紹什麼是」區間包含的單調性「和」四邊形不等式「

(1)區間包含的單調性:如果對於i≤i'(2)四邊形不等式:如果對於i≤i'下面給出兩個定理

定理一:如果上述的w函式同時滿足區間包含單調性和四邊形不等式性質,那麼函式m也滿足四邊形不等式性質。

我們再定義s(i,j)表示m(i,j)取得最優值時對應的下標(即i≤k≤j時,k處的w值最大,則s(i,j)=k)。此時有如下定理

定理二:假如m(i,j)滿足四邊形不等式,那麼s(i,j)單調,即s(i,j)≤s(i,j+1)≤s(i+1,j+1)。

好了,有了上述的兩個定理後,我們發現如果w函式滿足區間包含單調性和四邊形不等式性質,那麼有s(i,j-1)≤s(i,j)≤s(i+1,j)。即原來的狀態轉移方程可以改寫為下式:

m(i,j)=min+w(i,j)(s(i,j-1)≤k≤s(i+1,j))(min也可以改為max)

由於這個狀態轉移方程列舉的是區間長度l=j-i,而s(i,j-1)和s(i+1,j)的長度為l-1,是之間已經計算過的,可以直接呼叫。不僅如此,區間的長度最多有n個,對於固定的長度l,不同的狀態也有n個,故時間複雜度為o(n^2),而原來的時間複雜度為o(n^3),實現了優化!今後只需要根據方程的形式以及w函式是否滿足兩條性質即可考慮使用四邊形不等式來優化了。

四邊形不等式優化DP

記錄一下,以免忘了 對於乙個形如 dp i j min dp i k dp k j w i j 的轉移方程 注意取最大值時不一定滿足四邊形不等式 若對於 a leq b leq c leq d 且 w leq w 那麼我們稱 w 關於區間包含關係單調 若對於 a leq b leq c leq d ...

四邊形不等式優化dp

對四邊形不等式優化dp的理解 四邊形不等式適用於優化最小代價子母樹問題,即f i j max min f i k 1 f k j w i j 類似列舉中間點的 dp問題,典型例題石子歸併 如果w函式滿足區間包含的單調性和四邊形不等式,那麼函式 f也滿足四邊形不等式,如果 f滿足四邊形不等式,s i ...

DP優化 四邊形不等式

使用範圍 區間序列 dp 求最小值 一定是最小值 對於動態規劃轉移方程 dp i j min dp i k dp k 1 j w i,j 其中 w i,j 只受 i,j 取值影響 如果滿足下面兩個條件 1.區間單調性 如果對於 forall i leq i j leq j,w i j leq w i...