並不是很透徹,只是切掉了一道模板題。
[toc]
不等式 w(
i,j)
' role="presentation">w(i
,j)w
(i,j
),對於∀a
≤b≤c
≤d' role="presentation">∀a≤
b≤c≤
d∀a≤
b≤c≤
d,滿足 w(
a,c)
+w(b
,d)≤
w(a,
d)+w
(b,c
)' role="presentation">w(a
,c)+
w(b,
d)≤w
(a,d
)+w(
b,c)
w(a,
c)+w
(b,d
)≤w(
a,d)
+w(b
,c)那麼就稱它滿足四邊形不等式。w(
i,j)
' role="presentation">w(i
,j)w
(i,j
),對於∀a
≤b≤c
≤d' role="presentation">∀a≤
b≤c≤
d∀a≤
b≤c≤
d,滿足 w(
b,c)
≤w(a
,d)' role="presentation">w(b
,c)≤
w(a,
d)w(
b,c)
≤w(a
,d)那麼就稱它滿足區間包含單調性。
如果有dp式 f(
i,j)
=minf(
i,k)
+f(k
+1,j
)+w(
i,j)
(f(i
,i)=
0)' role="presentation">f(i
,j)=
minf(i
,k)+
f(k+
1,j)
+w(i
,j)(
f(i,
i)=0
)f(i
,j)=
minf(i
,k)+
f(k+
1,j)
+w(i
,j)(
f(i,
i)=0
)如果w(
i,j)
' role="presentation">w(i
,j)w
(i,j
)滿足四邊形不等式和區間包含單調性。 那麼f
(i,j
)' role="presentation">f(i
,j)f
(i,j
)也滿足四邊形不等式和區間包含單調性。
設滿足四邊形不等式的f(
i,j)
' role="presentation">f(i
,j)f
(i,j
)的決策點為s(
i,j)
' role="presentation">s(i
,j)s
(i,j
),則 s(
i,j−
1)≤s
(i,j
)≤s(
i+1,
j)' role="presentation">s(i
,j−1
)≤s(
i,j)
≤s(i
+1,j
)s(i
,j−1
)≤s(
i,j)
≤s(i
+1,j
)如果w(
i,j)
' role="presentation">w(i
,j)w
(i,j
)滿足四邊形不等式,當且僅當 w(
i,j)
+w(i
+1,j
+1)≤
w(i+
1,j)
+w(i
,j+1
)' role="presentation">w(i
,j)+
w(i+
1,j+
1)≤w
(i+1
,j)+
w(i,
j+1)
w(i,
j)+w
(i+1
,j+1
)≤w(
i+1,
j)+w
(i,j
+1)以上就是主要的內容。
證明?上網查,或自己推,我懶得打了。(一般只要能夠自己推出來就能夠理解了)
例題(模板):hdu3506 monkey party
using
namespace
std;
#include
#include
#include
#include
int n,nn;
int a[2001],sum[2001];
int f[2001][2001];
int s[2001][2001];
int main()
for (int len=1;lenfor (int i=1;i+len<=nn;++i)
return
0;}
一般情況下,四邊形不等式用來優化區間dp,將時間複雜度硬生生地降乙個維。(可能光是看程式看不出來,事實上,每一輪的處理,可以計算一下內部迴圈的次數,你將會驚奇的發現那是o(
n)' role="presentation">o(n
)o(n
)的)
有時候,四邊形不等式不只是優化區間dp,這樣的題還沒打過,如果打過了就再補充。
四邊形不等式
總結一下最近幾天對dp優化中的四邊形不等式的學習。證明什麼的似懂非懂,我還是太年輕了。第一種,n 2 nlogn 例題 由於許可權問題 不公開題面 就是1個體積均為1 300,100000個物品,做乙個100000的揹包。發現體積最多只有 300 種,分開做。對於同種體積的物品,顯然按照價值從大到小...
四邊形不等式
若有函式 a i,j 令 i,若有 a i j a i 1 j 1 le a i j 1 a i 1 j 則我們稱函式 a 滿足四邊形不等式。若我們在 dp 過程中會用到類似如下形式的方程 dp i j min dp k j or dp i k dp k 1 j w i j 那麼,只要代價函式 w ...
四邊形不等式相關
四邊形不等式,即 w i j w i j w i j w i j 其中 i i j j 順便推薦兩篇 四邊形不等式 動態規劃演算法優化技巧 我是這麼總結的 1 狀態轉移方程形如 f i opt 其中b i j i 1 說明 b i 是根據題目描述的可以決策狀態i的左邊界,w j i 是狀態j轉移到狀...