的問題表述爲以下多邊形鏈:使用動態編程來找到最適合一組數據點
考慮到n個點P_1 =(X_1,Y_1)序列,...,P_N =(x_n,y_n),並從左到右排序x座標(即x_1 < x_2 < ... < x_n)和1到n之間的數字k。我們想要找到從p1到pn的多邊形鏈,k邊從左到右,最小化點到鏈的垂直距離之和。設計一個動態規劃算法來解決O(n^3)時間的問題。計算點p_a + 1,...的垂直距離之和的方法。 。 。 ,p_b-1到通過 p_ap_b的行。由f(a,b)給出。
因爲它是我很難寫一個例子來測試,所以我不知道我的回答是否是corrent與否。
答案是如下所示:
首先,我定義C [I,J] =多邊形鏈端在其中j的邊緣,垂直距離的最小和PI。答案應該是C [n,k]。對於基本情況,當j> = i時,我定義C [i,0] = 0,並且C [i,j] = +無窮遠。
對於遞歸公式,我定義C [I,J] =最小(1個< p <ⅰ){C [P,J-1] + F(P,I)}
是否有任何我的回答錯了嗎?謝謝。
你忘了定義函數* f * –
另外我在這裏沒有看到真正的問題。你只是想驗證你的再發是正確的嗎? –
由於無法上傳圖片,我很抱歉沒有函數定義。是的,對於以下問題,我的重複發生是否正確: 我們希望找到一個從p1到pn的多邊形鏈,其中k個邊從左到右,最小化點到鏈的垂直距離之和。 – user