日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

DP优化

發布時間:2023/12/20 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DP优化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

通常來說從決策數量上來優化Dp有以下幾種方法:

斜率優化

用于優化帶多項式的乘積項的狀態轉移方程,即f[i]=min/max{f[j]+(x[i]-x[j])^2} 這樣的,

我們把他展開可以得到f[i]=min/max{f[j]+x[i]^2+x[j]^2-2*x[i]*x[j]}?

根據動規方程狀態i從狀態j轉化而來,

我們可以化成類似f[i]=(f[j]+…)+(-i*f[i-1]*f[j])+(i+…)的形式?

其中藍色部分只與j有關紅色部分與i,j有關綠色部分只與i或常數有關?

我們可以固定i,故變形為?

f[i]-i-…=(f[j]+…)+(-i*f[i-1]*f[j])?

考慮幾何意義,?

藍色部分為y紅色部分中的i部分為導數k,紅色部分中j部分為x綠色部分只是常數,在幾何意義上只是截距,與單調性無關,可以設為B?

故得y=kx-B?

這樣就可以利用線性規劃來做了,

容易發現無論一次函數的斜率怎么變,截距最小時取的點一定是那所有點求出的下凸殼上的某一個點。 因此我們只要每次在上邊尋找最優解,然后加點時維護這個下凸殼即可。 根據斜率和(x,y)的單調性不同有不同的維護方法。

四邊形不等式優化

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

(1)區間包含的單調性:如果對于i≤i'<j≤j',有w(i',j)≤w(i,j'),那么說明w具有區間包含的單調性。(可以形象理解為如果小區間包含于大區間中,那么小區間的w值不超過大區間的w值)

(2)四邊形不等式:如果對于i≤i'<j≤j',有w(i,j)+w(i',j')≤w(i',j)+w(i,j'),我們稱函數w滿足四邊形不等式。(可以形象理解為兩個交錯區間的w的和不超過小區間與大區間的w的和)

下面給出兩個定理

定理一:如果上述的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{m(i,k-1),m(k,j)}+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函數是否滿足兩條性質即可考慮使用四邊形不等式來優化了。

?

?

?

轉載于:https://www.cnblogs.com/2020pengxiyue/p/9348530.html

總結

以上是生活随笔為你收集整理的DP优化的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。