DP的四邊形優化

2021-09-07 14:21:35 字數 1411 閱讀 5348

1、狀態轉移方程如下:

m(i,j)表示對應i,j情況下的最優值。

w(i,j)表示從i到j的代價。

例如在合併石子中:

m(i,j)表示從第i堆石子合併到j堆石子合併成一堆的最小代價。

w(i,j)表示從第i堆石子到第j堆石子的重量和。

2、函式w滿足區間包含的單調性和四邊形不等式

1、假如函式w滿足上述條件,那麼函式m 也滿足四邊形不等式,即

例如:

假如有:w(1, 3) + w(2, 4) £ w(2, 3) + w(1, 4),

m(1, 3) + m(2, 4) £ m(2, 3) + m(1, 4),

2、假如m(i, j)滿足四邊形不等式,那麼s (i, j)單調,即:

運用上面兩條定理,可以將最上面的dp狀態轉移方程變為如下:

用四邊形優化將合併石子(直線型)的時間複雜度化為 o(n*n)

1 #include 2 #include 

3 #include 4

5using

namespace

std;

6const

int inf = 1

<< 30;7

const

int n = 1005;8

9int

dp[n][n];

10int

p[n][n];

11int

sum[n];

12int

n;13

14int

getminval()

1521

for(int len=1; len)

2235

}36 dp[i][end] =tmp;

37 p[i][end] =k;38}

39}40return dp[1

][n];41}

4243

intmain()

4454 printf("

%d\n

",getminval());55}

56return0;

57 }

上述**具體在記憶體中的執行過程:

dp四邊形優化

如果dp i j min dp i k dp k 1 j w i j 且滿足dp a c dp b d dp a d dp c d a那麼dp具有四邊形不等式性質 另外如果可以證明w i j 滿足單調性和四邊形不等式性質,那麼dp也具有四邊形不等式性質 單調性 w i j w i j 1 w i 1...

四邊形優化dp小結

在本蒟蒻開始亂扯之前,先推薦兩篇部落格,有更詳細清晰的講解,這兒就不說那麼多了,畢竟叫 小結 對吧。下面進入正題 一下所有的把min取成max,把 取成 也成立 對於乙個狀態轉移方程dp i j min 1.當函式w i,j 滿足 w a,c w b,d w b,c w a,d 且a b c d 時...

四邊形優化

匆匆忙忙搞了一下四邊形優化,也就是做了幾道入門題而已 四邊形不等式詳解 反正我就記住這句話 判斷w是否為凸即判斷 w i,j 1 w i,j 的值隨著i的增加是否遞減 hdu 2829 include include include using namespace std define maxn 1...