簡要題意
四邊形不等式是一種 dp 優化策略,多用于 2D DP,
內容
對于區間 \([l,r]\) 帶來的貢獻 \(w(l,r)\),如果其滿足:
對于 \(L\leq l\leq r \leq R\),\(w(L,r)+w(l,R)\leq w(L,R)+w(l,r)\)
則稱 \(w\) 滿足四邊形不等式,特別地,如果上式符號取等,則稱其滿足四邊形恒等式,
注:上面的不等式可以記成:交叉小于包含,
四邊形不等式優化基礎:對于一個 dp \(f(i,j)\),如果其最優決策點(即第三維列舉的最優位置) \(s(i,j)\) 滿足 \({s(i,j-1)\leq s(i,j) \leq s(i+1,j)}\),則可以用此方法將時間復雜度優化到 \(O(\max i \cdot \max j)\),
型別一
對于一類 dp(多見于把一個序列分成 \(k\) 段,最小化或最大化每一段段貢獻的的和),其狀態轉移方程為(\(\min\) 也可以換成 \(\max\)):
\[f(i,j)=\min_{k=1}^{i-1}{(f(k,j-1)+w(k+1,j))} \]且 \(w\) 滿足四邊形不等式,則:
- \(f\) 也滿足四邊形不等式,
- \(f\) 滿足四邊形不等式基礎,
SPOJ LARMY - Lannister Army
給出一個長為 \(N\) 的序列 \(H\),你需要將其分成 \(K\) 段,使得每一段的逆序對數量之和最小,輸出最小值,
\(1 \leq K \leq N \leq 5\times10^3,1 \leq H_i \leq 10^5\)
不能再板的四邊形不等式吧,先推出每一個序列的每一個區間的逆序對數量,然后四邊形不等式即可,
時間復雜度 \(O(N^2)\),
P4767 [IOI2000]郵局
在數軸上分布著 \(V\) 個村莊,第 \(i\) 個村莊在 \(a_i\),兩個村莊的距離為這兩個村莊的位置之差得絕對值,你需要在一些村莊中修建郵局,你需要輸出每一個村莊到離其最近的郵局的距離之和的最小值,
\(1 \leq P \leq 300,1 \leq P \leq V \leq 3 \times 10^3,1 \leq a_i \leq 10^4\)
這道題可以看成將村莊排序后分成 \(P\) 段,每段在其中點修建一個郵局,最小化每段到其中點的距離和的和,
可以遞推出每段的貢獻 \(w(i,j)=w(i-1,j)+a_j-a_{\lfloor (i+j)\div 2\rfloor}\),
然后,然后就沒了,
時間復雜度 \(O(V^2)\),
型別二
對于一類區間 dp 問題(多見于石子合并類),其狀態轉移方程為(\(\min\) 也可以換成 \(\max\)):
\[f(i,j)=\min_{k=i}^{j-1}{(f(i,k)+f(k+1,j)+w(i,j))} \]且 \(w\) 滿足四邊形不等式,則:
- \(f\) 也滿足四邊形不等式,
- \(f\) 滿足四邊形不等式基礎,
P1775 石子合并(榷訓版)
有一個長度為 \(N\) 的序列 \(m\),你可以合并相鄰的兩個元素 \(m_i,m_j\),變成 \(m_i+m_j\),并花費 \(m_i+m_j\) 的代價,輸出最小代價和,
\(1 \leq N \leq 300,1 \leq m_i \leq 10^3\)
這道題暴力 \(O(N^3)\) 前綴和 + 區間 DP 可以過,但是容易發現 \(w(i,j)=\sum_{k=i}^{j} m_k\) 滿足四邊形不等式,于是可以使用四邊形不等式優化,
時間復雜度 \(O(N^2)\),
如果文章有問題,靜待斧正,建議向我(@xiezheyuan)發送洛谷私信并指出博文地址 https://www.cnblogs.com/zheyuanxie/p/quadrangle.html !轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/549665.html
標籤:其他
上一篇:大模型高效開發的秘密武器:大模型低參微調套件MindSpore PET
下一篇:Redis快取高可用集群
