斜率優化總結

2021-09-27 13:22:25 字數 642 閱讀 5194

題目:luogu p2365 任務安排

題解:題解 p2365 【任務安排】

對於此類方程:$ f[i]=} \begin f[j]+val(i,j) \end $

暫時忽略min和範圍得:$ f[i]=f[j]+val(i,j) $

整理得:$ f[j]=-val(i,j)+f[i] $

令$ -val(i,j)=f(i)*g(j)+h(i) $

則$ f[j]=f(i)*g(j)+f[i]+h(i) $

注意到對於每個確定的 $ i $ ,其 $ f(i) $ 和 $h(i) $ 值確定,即可看成常量,因此可以把 $ f[j] $ 看作 $ y $ ,把 $ f(i) $ 看作 $ a $ ,把 $ g(j) $ 看作 $ x $ ,把 $ f[i]+h(i) $ 看作 $ b $ ,則每乙個決策可轉化成求乙個過點 $ (x,y) $ 的斜率已確定為 $ a $ 的直線 $ y=ax+b $ 的最小的截距 $ b $ ,也就求出了最小的 $ f[i] $ 。

考慮其幾何意義,如圖,可以維護乙個決策點的「下凸殼」,易知當直線的斜率處於下凸殼的兩條相鄰線段之間時決策最優。

參考資料

斜率優化總結

斜率優化是用於優化一些線性dp,主要思想類似於凸包。下面來看乙個例題 hdu 3507 由題意不難想到是dp,也很容易退出轉移過程f i m in f j s i s j 2 m i 0 i 1 但是一看 n 的範圍馬上就萎了,下面來看看用斜率怎麼優化。現將推出的轉移方程化簡 f i m in f ...

斜率優化總結

考慮如下 dp dp i max min a i b j c i d j j i 其中,a i c i 只與i有關,b j d j 只與j有關。括號裡有與i,j同時有關的項,導致單調佇列優化失效,但是如果這樣的項只有乙個可以採用斜率優化。方法如下 將此dp方程轉化為 dp i a i max min...

斜率優化總結

首先,推薦乙個大佬的部落格,講解非常詳細,所以不會斜率優化的請移步這裡,本部落格主要講題目分析qwq 主要講解題目 1.hnoi2008玩具裝箱 2.zjoi2007倉庫建設 3.usaco08mar土地徵用land acquisition 4.apio2010特別行動隊 下面,開始吧。題目分析 如...