四邊形不等式優化

2021-10-11 14:39:03 字數 1248 閱讀 1761

例:一條筆直的高速公路上有n個村莊,每個村莊都有乙個整數字置座標,不同村莊的座標不同,現在要在其中的 p 個村莊上建立郵局。

請問如何安排郵局的位置可以使得每個村莊到其最近郵局的距離和最小,輸出這個最小值。

輸入格式

第一行包含兩個整數n和p,分別表示村莊數量以及郵局數量。

第二行包含n個整數,表示n個村莊的位置座標,座標均為不超過10000的正整數。

輸出格式

輸出乙個整數,表示距離和的最小值。

資料範圍

1≤n≤300,

1≤p≤30,

輸入樣例:

10 5

1 2 3 6 7 9 11 22 44 50

輸出樣例:

9描述:四邊形不等式優化,看決策候選集形式直接猜是四邊形不等式優化,中間再用字首和加二分優化一下,可以做到o(nplogn)

#include

#include

#include

using

namespace std;

const

int n =

310, m =

50, inf =

0x3f3f3f3f

;int f[n]

[m];

int opt[n]

[n];

int s[n]

;int pos[n]

;int n, m;

intval

(int k,

int i ,

int j)

res +

= pos[i]

*(i - r +1)

- s[i]

+ s[r -1]

; res +

= s[r -1]

- s[k -1]

-(r - k)

* pos[k]

;return res;

}int

main()

}}}int ans = inf;

for(

int i = m; i <= n;

++ i) ans =

min(ans, f[i]

[m]+ s[n]

- s[i]

-(n - i)

* pos[i]);

printf

("%d"

, ans)

;return0;

}

四邊形不等式優化

先占個坑,準備學習一把運籌學,好像裡面很多最優化的內容都是和演算法設計相關聯的問題 下面內容 發現了一篇更好的部落格,粘上去,粘上去。簡介 給出乙個長度為l的木棍,以及n個切割點 要求切割成n 1段,每切一次花費都是原始的木棍長度 求最小花費 分析 實際上我們可以看做是n 1個物品 這和能量項鍊是一...

四邊形不等式優化

在一些動態規劃中狀態轉移方程是這樣的 m i,j min left 顯而易見,這種方法的時間複雜度是 o n 如何去優化呢?四邊形不等式 通過四邊形不等式的優化,可以進一步限定 k 的範圍,從而可以將事件複雜度降為 o n 我們最終的目的是證明決策變數 k 的單調性 此優化方法由姚期智的夫人儲楓 f...

四邊形不等式

總結一下最近幾天對dp優化中的四邊形不等式的學習。證明什麼的似懂非懂,我還是太年輕了。第一種,n 2 nlogn 例題 由於許可權問題 不公開題面 就是1個體積均為1 300,100000個物品,做乙個100000的揹包。發現體積最多只有 300 種,分開做。對於同種體積的物品,顯然按照價值從大到小...