最優配對問題(動態規劃)

2022-04-28 16:48:14 字數 476 閱讀 6297

空間裡有n個點p0,p1,p2... ...,pn-1,你的任務是把他們配成n/2對(n是偶數),使得每個點恰好在乙個點對中。所有點的距離之和應該盡量小。n<=20.

定義狀態d[i][s]為前i個點中,位於集合s的元素兩兩配對的最小距離,則狀態轉移方程就是

d(i,s) = min-)}

其中|pipj|表示兩點之間的距離。邊界是d(-1,s) = 0

**實現:

1

for(int i = 0;i < n;i ++)210

}11 }

而另外,狀態i更本就不需要儲存,所以就只需要乙個一維陣列就可以儲存

d(s) =  min

1

for(int s = 0; s < (1

<)29

for(int j = i+1; j < n; j ++ )if(s && (1

<1013 }

集合上的動態規劃 最優配對問題

此部落格 題目 劉汝佳 演算法競賽入門經典 集合上的動態規劃 最優配對問題 題意 空間裡有n個點p0,p1,pn 1,你的任務是把它們配成n 2對 n是偶數 使得每個點恰好在乙個點對中。所有點對中兩點的距離之和應盡量小。狀態 d i,s 表示把前i個點中,位於集合s中的元素兩兩配對的最小距離和 狀態...

最優配對問題

最優配對問題 空間裡有n個點p0,p1,pn 1,你的任務是把它們配成n 2對 n是偶數 使得每個點恰好在乙個點對中。所有點對中兩點的距離之和應盡量小。1.設d i,s 表示前i個點中,位於集合s中的元素兩兩配對的最小距離和 則狀態轉移方程 d i,s min include include inc...

最優配對問題(集合上的動態規劃) 狀壓DP

題意 給出n個點的空間座標 n為偶數,n 20 把他們配成n 2對,問 怎樣配對才能使點對的距離和最小?題解 設dp s 為 狀態為s s代表著某個子集 時,它的最小距離和。1.對於乙個狀態s,首先要計算它減少兩個點後的狀態的最小距離和,然後當前狀態才能從這些狀態中轉移過來。2.如何轉移 對於狀態s...