決策單調性DP學習小記
四邊形不等式
解決形如這樣的DP式子的問題
Fi,j=min{Fi−1,k+wk+1,j}(i<=k<=j)
或者是
Fi,j=min{Fi−1,k,Fk+1,j}+wi,j(i<=k<=j)
一般用於區間DP.
區間包含的單調性:
對於任意的
a<=b<=c<=d,若
w(b,c)<=w(a,d),則稱
w具有區間包含的單調性.
四邊形不等式:
對於任意的
a<=b<=c<=d,若
w(a,c)+w(b,d)<=w(b,c)+w(a,d),則稱
w滿足四邊形不等式.
可以形象理解成交叉之和小於等於包含之和.
倘若上述的 w函式滿足區間包含單調性和四邊形不等式,則 F函式滿足四邊形不等式.
設
pi,j為
Fi,j最優時取得的下標.
若
Fi,j滿足四邊形不等式,則
pi,j單調.即
pi,j<=pi,j+1<=pi+1,j+1
得到這些資訊後,
k的範圍可以改寫成
pi,j−1<=k<=pi+1,j
這樣可以將複雜度優化至
O(N2).
一般來講,可以將決策點打表打出來觀察是否每行每列均單調.
當然如果能手動證明四邊形不等式也是極好的.
相關推薦
決策單調性DP學習小記
四邊形不等式 解決形如這樣的DP式子的問題 F i
bzoj 2216 [Poi2011]Lightning Conductor 決策單調性+dp
pre inline 假設 int efi 當前 www. 記錄 sin 題面 題目傳送門 解法 決策單調性比較經典的題吧 題目就是要對於每一個\(i\)求\(f_i=max(a_j-a_i+\sqrt{|i-j|}))\) 可以發現,\(\sqrt n\)的增長速度比較慢
bzoj 1563 [NOI2009]詩人小G 決策單調性+dp
ref bit std online mes pac c++ () include 題面 題目傳送門 解法 可以得到一個顯然的dp方程 $\(f_i=min(f_j+(s_i-s_j+i-j-1-L)^p)\) 不妨把後面的東西看成\(w(j,i)\) 所以就變成\(f_i
Codeforces Round #190 (Div. 1): E. Ciel and Gondolas(決策單調性DP+wqs二分)
題意: 同一道題目,但是bzoj可能需要讀入掛 思路: wqs二分 沒什麼可講的了 #include<stdio.h> #include<string.h> #include<algorithm>
BZOJ 1563: [NOI2009]詩人小G 決策單調性DP
題目大意:給定若干個字串,可以將相鄰的若干個字串連線起來並在其中插入空格,最小化每個字串與給定長度的差的絕對值的p次方。 題解:一眼看上去像是之前做過的斜率優化,但是仔細一看不是平方變成了p次方,這就
bzoj2216 [Poi2011]Lightning Conductor(決策單調性DP)
bzoj2216 [Poi2011]Lightning Conductor 題意: 已知一個長度為n的序列a1,a2,…,an。 對於每個1<=i<=n,找到最小的非負整數p滿足
[BZOJ3549]-[ONTAK2010]Tower / [BZOJ1233]-[Usaco2009Open]乾草堆tower-性質+決策單調性dp
說在前面 並沒有什麼想說的,但是要保持格式=w= 題目 題面 給定 NN 個積木,編號為 1⋯N1⋯N,每個積木高度為 11,寬度為 wiwi,你可以把若干個積木放在一層上,堆成若干層,要求滿足兩個條件: 對於任意一層的積木,他的寬度
bzoj4518: [Sdoi2016]征途(DP+決策單調性分治優化)
clas code -1 long long lib fine bsp char click 題目要求... 化簡得... 顯然m和sum^2是已知的,那麽只要讓sigma(si^2)最小,那就變成了求最小平方和的最小值,經典的決策單調性,用分治優
Codeforces 868F. Yet Another Minimization Problem【決策單調性優化DP】【分治】【莫隊】
LINK 題目大意 給你一個序列分成k段 每一段的代價是滿足\((a_i=a_j)\)的無序數對\((i,j)\)的個數 求最小的代價 思路 首先有一個暴力dp的思路是\(dp_{i,k}=min(dp_{j,k}+calc(j+1,i))\) 然後看看怎麼優化 證明一下這個DP的決策
BZOJ4899: 記憶的輪廓【概率期望DP】【決策單調性優化DP】
Description 通往賢者之塔的路上,有許多的危機。 我們可以把這個地形看做是一顆樹,根節點編號為1,目標節點編號為n,其中1-n的簡單路徑上,編號依次遞增, 在[1,n]中,一共有n個節點。我們把編號在[1,n]的叫做正確節點,[n+1,m]的叫做錯誤節點。一個葉子,如果是正 確節點則為正確葉
[BZOJ4850][JSOI2016]燈塔(分塊/決策單調性優化DP)
第一種方法是決策單調性優化DP。 決策單調性是指,設i>j,若在某個位置x(x>i)上,決策i比決策j優,那麼在x以後的位置上i都一定比j優。 根號函式是一個典型的具有決策單調性的函式,由於根號函式斜率遞減,所以i決策的貢獻的增長速度必定比j快。 於是使用基礎的決策單調性優化即可。 注意兩
[JZOJ5976] 打怪獸 【DP】【決策單調性】
Description Solution 首先發現性質 可以看出,如果上一次疊的甲還沒有掉完,那麼此時是不會疊甲的 因為這時候疊甲,不如把這些甲移到上次一起疊,那麼肯定是更優的。 那麼現在就相當於用若干個下降且不交的三角形來覆蓋這個序列。 考慮DP 設
[NOI2009]詩人小G(dp + 決策單調性優化)
題意 有一個長度為 \(n\) 的序列 \(A\) 和常數 \(L, P\) ,你需要將它分成若干段,每 \(P\) 一段的代價為 \(| \sum ( A_i ) − L|^P\) ,求最小代價的劃分方案。 \(n \le 10^5 , 1 \le P \le 10\) 題解 考慮暴力 \(O(n^2)\)
【BZOJ1563】【NOI2009】詩人小G(dp+決策單調性)
Description Input Output 對於每組資料,若最小的不協排程不超過1018,則第一行一個數表示不協排程若最小的不協排程超過1018,則輸出”Too hard to arrange”(不包含引號)。每個輸出後面加”——————–”
[BZOJ5125]小Q的書架(決策單調性+分治DP+樹狀陣列)
顯然有決策單調性,但由於逆序對不容易計算,考慮分治DP。 solve(k,x,y,l,r)表示當前需要選j段,待更新的位置為[l,r],這些位置的可能決策點區間為[x,y]。暴力計算出(l+r)/2的決策位置s,兩邊遞迴下去繼續操作。solve(k,x,s,l,mid-1),solve(k,s,y,mid+
[BZOJ5125]小Q的書架(決策單調性+分治DP+樹狀數組)
() 樹狀數組 數組 += mil ace pan turn 更新 顯然有決策單調性,但由於逆序對不容易計算,考慮分治DP。 solve(k,x,y,l,r)表示當前需要選j段,待更新的位置為[l,r],這些位置的可能決策點區間為[x,y]。暴力計算出(l+r)/2的決策
bzoj4709 -- 決策單調性優化DP
顯然每個區間左右端點大小相等是最優的,否則可以把不相等的分出去。 於是可以列出DP方程: fi=max{fj−1+ai×(si−sj+1)2,ai=aj} 由於二次函式是下凸的,可以用決策單調性優
[NOI2009]詩人小G(決策單調性優化dp)
【題解】 經典的1D1D動態規劃優化 狀態轉移方程:f[i]=min{ f[j]+abs(s[i]-s[j]+i-j-1-l)^p } 決策單調性及證明: http://blog.csdn.net/jasonzhu8/article/details/5928552 因此
Gym - 101002H: Jewel Thief (背包,分組,DP決策單調性)
-s flow color row display left clas xmlns 決策 pro:給定N,M。輸入N個物品,(si,vi)表示第i個物品體積為si,價值為vi,s<=300,vi<=1e9; N<1e6;現在要求,對於背包體積為1到M時,求
bzoj 4899 記憶的輪廓 題解(概率dp+決策單調性優化)
題目背景 四次死亡輪迴後,昴終於到達了賢者之塔,當代賢者夏烏拉一見到昴就上前抱住了昴“師傅!你終於回來了!你有著和師傅一樣的魔女的餘香,肯定是師傅”。眾所周知,大賢者是嫉妒魔女沙提拉的老公,400年前與神龍、劍聖一起封印魔女因子暴走的莎緹拉。在魔女茶會的時候,莎緹拉也表示過對昴濃濃的