基本DP優化


DP優化

斜率優化

\(f(i)=max\{f(j)+(s(i)-s(j))^2\}\)\(n\leq 10^6\).

其中\(\,s(x)\,\)是只和\(\,x\,\)有關的單調減函數,可以快速計算

顯然我們不能\(\,\Theta(n^2)\,\)暴力計算,考慮減少決策數,化簡得:

\[f(i)=max\{f(j)+s^2(i)+s^2(j)-2s(i)s(j)\} \]

由於考慮優化決策,把\(\,j\,\)單獨提出:

\[\exists\, j<i \,\,,\,\,f(i)=f(j)+s^2(i)+s^2(j)-2s(i)s(j) \]

考慮兩個決策\(\,j,k\,\)何時是\(\,j\,\)更優:

\[f(j)+s^2(i)+s^2(j)-2s(i)s(j)\geq f(k)+s^2(i)+s^2(k)-2s(i)s(k) \]

\[f(j)-f(k)+s^2(j)-s^2(k)\geq 2s(i)[s(j)-s(k)] \]

\[F(x)=f(x)+s^2(x) \]

\[F(j)-F(k)\geq 2s(i)[s(j)-s(k)]\\ \frac{F(j)-F(k)}{s(j)-s(k)}\geq 2s(i) \]

不難發現\(\,F(j),F(k),s(j),s(k),s(i)\,\)都是定值

對於每個決策\(\,j\,\),使其對應一個定點\(\,(s(j),F(j))\,\),則\(\,\frac{F(j)-F(k)}{s(j)-s(k)}\,\)\(\,j,k\,\)間斜率

考慮維護斜率,畫圖手玩不難發現(我懶得畫圖),其實就是維護一個上凸包,如果是小於等於則是下凸包,關於如何維護,我們等會再講,先考慮答案的處理


注意到,對於最優的\(\,j\,\),有

\[f(i)=F(j)+s^2(i)-2s(i)s(j) \]

其中\(\,s^2(i)\,\)是常數,可以忽略,設

\[f(i)=-K(i)s(j)+y(j)\\ K(i)=2s(i)\\ y(j)=F(j)=f(j)+s^2(j) \]

\(\,y=kx+b\,\)過點\(\,(0,-K(i)s(j)+y(j)),(s(j),y(j))\,\),聯立得

\[\begin{cases} b=-K(i)s(j)+y(j)\\ ks(j)+b=y(j) \end{cases} \]

解得

\[k=K(i) \]

發現這是不受決策影響的,而答案就是\(\,b\),要最大化\(\,b\,\)就是在凸包上找一個點使得其截距最大,顯然可以三分


接下來考慮如何維護凸包

對於新插入的點,由於\(\,s(j)\,\)的單調性,一定是在結尾處插入,又因為有\(2s(j)\)的單調性,所以現在更劣的解一定不會在將來被選到,形式化地,我們有:

\[\exists\,j: \frac{F(j)-F(k)}{s(j)-s(k)}\geq 2s(i)\geq 2s(i+\Delta) \]

故而對於新插入的點,我們只需要依次遍歷它之前的點,只到一個不可被刪去的點,簡單代換即可,證明如下:

\[if\quad i<j<k\and\frac{F(j)-F(k)}{s(j)-s(k)}\geq 2s(l)\,\and\,\frac{F(i)-F(j)}{s(i)-s(j)}\geq 2s(l)\\ F(j)-F(k)\geq 2s(l)[s(j)-s(k)]\and F(i)-F(j)\geq 2s(l)[s(i)-s(j)]\\ F(i)-F(k)\geq 2s(l)[s(i)-s(k)]\\ \frac{F(i)-F(k)}{s(i)-s(k)}\geq 2s(l) \]

可以發現,一個點只會被掃到\(\,\Theta(1)\,\)次,而凸包上找答案的復雜度是\(\,\Theta(log)\,\),所以總復雜度就是\(\,\Theta(n\log n)\,\)

四邊形不等式

用途

大概是可以把一些\(\,\Theta(n^3)\,\)時間填\(\,\Theta(n^2)\,\)的表的dp的時間優化到\(\,\Theta(n^2)\,\)

定義

如果

\[\forall a\leq b<c\leq d\\ w_{a,c}+w_{b,d}\leq w_{a,d}+w_{b,c} \]

那么二元函數\(\,w\,\)被稱為滿足四邊形不等式的

如果

\[\forall L\leq l\leq R \leq r\\ w_{L,R}\leq w_{l,r} \]

\(\,w\,\)被稱為區間單調的

定義拓展

當且僅當

\[w_{i,j}+w_{i+1,j+1}\leq w_{i+1,j}+w_{i,j+1} \]

\(w\,\)滿足四邊形不等式

證明如下:

明天再證

優化方案

對於一個形如\(f_{i,j}=min\{f_{i,k}+f_{k,j}+w_{i,j}\}\),令\(\,p_{i,j}\,\)表示\(\,f_{i,j}\,\)最優的決策點

不難證得:若\(\,w\,\)滿足四邊形不等式,那么\(\,f\,\)也滿足四邊形不等式

那么

\[p_{i,j-1}\leq p_{i,j}\leq p_{i+1,j} \]

利用決策單調性即可將時間優化至\(\,\Theta(n^2)\,\)

單調性的證明等我學會了就寫


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM