四邊形不等式優化dp

2022-08-17 22:06:11 字數 1296 閱讀 1991

感覺挺詳細的。qaq  

四邊形不等式是一種比較常見的優化動態規劃的方法

如果對於任意的a1≤a2四邊形不等式。

(其實想想這個是很正確的,如果按照四個點分別建立乙個四邊形的話,那麼這個式子所代表的就是對角線大於等於相互對立的邊,證明方法就是劃分成三角形,對角線便是三角形的斜邊,自然大於,對於剛好成一條直線情況,此時剛好取到等於號)

設m[i,j]表示動態規劃的狀態量。

m[i,j]有類似如下的狀態轉移方程:

m[i,j]=min(i≤k≤j)

m滿足四邊形不等式是適用這種優化方法的必要條件

對於一道具體的題目,我們首先要證明它滿足這個條件,一般來說用數學歸納法證明,根據題目的不同而不同。

通常的動態規劃的複雜度是o(n^3),我們可以優化到o(n^2)

定義s(i,j)為函式m(i,j)對應的使得m(i,j)取得最大值的k值。

我們可以證明,s[i,j-1]≤s[i,j]≤s[i+1,j]

那麼改變狀態轉移方程為:

m[i,j]=min(s[i,j-1]≤k≤s[i+1,j])

複雜度分析:不難看出,複雜度決定於s的值,以求m[i,i+l]為例,

(s[2,l+1]-s[1,l])+(s[3,l+2]-s[2,l+1])…+(s[n-l+1,n]-s[n-l,n-1])=s[n-l+1,n]-s[1,l]≤n

所以總複雜度是o(n)

對s[i,j-1]≤s[i,j]≤s[i+1,j]的證明:

設mk[i,j]=m[i,k]+m[k,j],s[i,j]=d

對於任意k(mk[i+1,j]-md[i+1,j])-(mk[i,j]-md[i,j])

=(mk[i+1,j]+md[i,j])-(md[i+1,j]+mk[i,j])

=(m[i+1,k]+m[k,j]+m[i,d]+m[d,j])-(m[i+1,d]+m[d,j]+m[i,k]+m[k,j])

=(m[i+1,k]+m[i,d])-(m[i+1,d]+m[i,k])

∵m滿足四邊形不等式,∴對於i∴(mk[i+1,j]-md[i+1,j])≥(mk[i,j]-md[i,j])≥0

∴s[i,j]≤s[i+1,j],同理可證s[i,j-1]≤s[i,j]

證畢以上所給出的狀態轉移方程只是一種比較一般的,其實,很多狀態轉移方程都滿足四邊形不等式優化的條件。

解決這類問題的大概步驟是:

證明w滿足四邊形不等式,這裡w是m的附屬量,形如m[i,j]=opt,此時大多要先證明w滿足條件才能進一步證明m滿足條件

證明m滿足四邊形不等式

證明s[i,j-1]≤s[i,j]≤s[i+1,j]

四邊形不等式優化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

原文 在動態規劃中,經常遇到形如下式的轉台轉移方程 m i,j min w i,j i k j min也可以改為max 上述的m i,j 表示區間 i,j 上的某個最優值。w i,j 表示在轉移時需要額外付出的代價。該方程的時間複雜度為o n 3 下面我們通過四邊形不等式來優化上述方程,首先介紹什麼...