我试图编写以下问题:
给出实线上的一组{x1; x2; ... ;xn}
和一组
[si; fi]
的已关闭时间间隔1 <= i<= d
,其中第i个时间间隔的成本为ci > 0
,查找包含所有给定点的最低成本的闭合时间间隔。
这是我的动态编程方法:
让dp(i)(j)
表示使用前i
个时间间隔覆盖前j
个点的费用。
dp(i)(j)= inf
for i=1 to n:
for j=1 to d:
if j covers i:
dp(i)(j) = min(dp(i)(j), dp(i-1)(j-1)+ Cj)
Return dp(n)(d)
我只是想确定这是否是正确的递归关系?