我也不懂,但是你可以看看这里: http://wenku.baidu.com/view/33b4a0fdc8d376eeaeaa3184.html,希望对你有帮助吧。
这个也不错: 五大常用算法之二:动态规划算法
数据规模有多大?
设目标有n个,感应器有m个,注意到任何一个目标所对应的感应器都是连续的一段这一特殊性质,我们可以将问题化为:
有一个长为m的序列cost[i],n个区间,要求选出序列中一些数,使得任意一个区间中都至少有一个被选中的,并使被选中的cost之和最小。
将区间按右端点升序排列,设f[i]为使第1到i的区间都符合要求的最小花费,枚举最后一个被选中的数cost[t],要求t大于等于这i个区间中左端点的最大值,小于等于第i个区间的右端点,则这i个区间中右端点大于等于t的区间都符合了要求,只需找出最后一个右端点小于t的区间,设其为第p个区间,f[i]=min{cost[t]+f[p])