斜率优化Convex Hull Trick
斜率優(yōu)化
一、簡單DP
首先從一道簡單題引入。
[IOI2002]任務(wù)安排
Description
N個任務(wù)排成一個序列在一臺機(jī)器上等待完成(順序不得改變),這N個任務(wù)被分成若干批,每批包含相鄰的若干任務(wù)。從時刻0開始,這些任務(wù)被分批加工,第i個任務(wù)單獨完成所需的時間是Ti。在每批任務(wù)開始前,機(jī)器需要啟動時間S,而完成這批任務(wù)所需的時間是各個任務(wù)需要時間的總和(同一批任務(wù)將在同一時刻完成)。每個任務(wù)的費用是它的完成時刻乘以一個費用系數(shù)ci。請確定一個分組方案,使得總費用最小。
例如:S=1;T={1,3,4,2,1};F={3,2,3,3,4}。如果分組方案是{1,2}、{3}、{4,5},則完成時間分別為{5,5,10,14,14},費用C={15,10,30,42,56},總費用就是153。
Input
第一行是N(1<=N<=5000)。
第二行是S(0<=S<=50)。
下面N行每行有一對數(shù),分別為Ti和ci,均為不大于100的正整數(shù),表示第i個任務(wù)單獨完成所需的時間是Ti及其費用系數(shù)ci。
Output
一個數(shù),最小的總費用。
Sample Input
5
1
1 3
3 2
4 3
2 3
1 4
Sample Output
153
Solution
“光著身子”的動態(tài)規(guī)劃。
設(shè)F[i,j]表示劃分前i個任務(wù)為j批的最小費用。
?? ? ? ? ? ? ? ??
,時間復(fù)雜度:,空間復(fù)雜度:
這顯然是不夠的。
?
實際上我們不一定要知道之前劃分了多少批任務(wù),只需要記錄F[i]表示劃分前i個任務(wù)的最小費用。
這樣就寫出了動態(tài)規(guī)劃方程。
二、簡單題2
將上題的n<=5000改為n<=300000。
Solution
這就是本文的重點所在了。
在上文中的動態(tài)規(guī)劃中,尚有兩種簡單的優(yōu)化思路:
顯然,優(yōu)化狀態(tài)很難達(dá)成,那么我們考慮優(yōu)化轉(zhuǎn)移。
我們可以發(fā)現(xiàn)在轉(zhuǎn)移的過程中有很多的不必要的轉(zhuǎn)移:
考慮一下兩個轉(zhuǎn)移:
在此題中,若?
那么轉(zhuǎn)移 j 就是不必要的。
也就是說,若有且選取轉(zhuǎn)移狀態(tài)的集合
并且存在,后面的轉(zhuǎn)移比前面的優(yōu),則前面的轉(zhuǎn)移就是無意義的,也就是對最終答案無貢獻(xiàn)的了。
?
考慮本題,如何判斷轉(zhuǎn)移狀態(tài)是否是有用的呢?
也就是說,如果?
那么后面的轉(zhuǎn)移比前面的優(yōu),否則前面的轉(zhuǎn)移比后面的優(yōu)。
這樣的,即是用斜率的形式,表現(xiàn)了轉(zhuǎn)移之間的不必要的關(guān)系。
?
進(jìn)一步,我們發(fā)現(xiàn):
也就是說,如果當(dāng)前存在后面的轉(zhuǎn)移比前面的優(yōu),那么這個轉(zhuǎn)移在之后的狀態(tài)中都不會成為最有轉(zhuǎn)移!
根據(jù)這個性質(zhì),我們選擇用單調(diào)隊列維護(hù)一個兩點間斜率單調(diào)遞增的點集隊列。
設(shè):
最后的點集隊列滿足:在隊首的點的轉(zhuǎn)移必然是最優(yōu)的。
于是
將轉(zhuǎn)移化為,動態(tài)規(guī)劃完成。
三、簡單題3
若 ? -512<=t[i]<=512 ,也就是說:
? ??不再成立怎么辦呢?
我們發(fā)現(xiàn):
這一性質(zhì)依然成立,那么這個點集集合還是會組成一個相鄰點斜率遞增的單調(diào)隊列。
有 ??
發(fā)現(xiàn):
也就是說,答案一定存在于一個點,使得???且???
那么必然最優(yōu)。
我們可以維護(hù)單調(diào)隊列,只在隊尾刪除,每次二分查詢一個最優(yōu)點。
這樣便是的斜率優(yōu)化做法。
?
四、簡單題4
一種形式斜率優(yōu)化的形式:
隊列中的點不滿足單調(diào)性。
BZOJ1492: [NOI2007]貨幣兌換Cash
題目描述:詳見BZOJ。
這一題就是典型的例子。
斜率不單調(diào),那么就必須用cdq分治或splay維護(hù)斜率凸包解決斜率優(yōu)化問題了。
下次有時間再補(bǔ)充。。。
總結(jié)
以上是生活随笔為你收集整理的斜率优化Convex Hull Trick的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 冬瓜皮的功效与作用、禁忌和食用方法
- 下一篇: [COCI 2017-2018-2]-S