HDU1881毕业bg

题目:http://acm.hdu.edu.cn/showproblem.php?pid=1881

思路:题目实质是01背包问题,不过加了几方面的限制

         将bg当作物品,离开时间当作重量,快乐度当作价值,则与01背包不同的是物品放入的顺序是有先后顺序的

         所以需要排序

         最后的结果也不是求f[n][bg[n].t]

状态转移方程:

         f[i][j]=max{ f[i-1][j-bg[i].l]+bg[i].h , f[i-1][j] | j>=bg[i].l,j<=bg[i].t }

         结果求f[n][....]之中的最大值

代码如下:

 

 

亦可用盲目搜索方法,貌似数据有点弱,所以才通过

posted on 2011-02-21 19:53  bug睡的略爽  阅读(124)  评论(0编辑  收藏  举报

导航