
DP
文章平均质量分 67
ze帆_fan
这个作者很懒,什么都没留下…
展开
-
HDU2602 Bone Collector
题意大致是:有个人在爱好是收集骨头,然后背包容量有限,每块骨头有特定的重量和价值。求在有限制的背包容量下装下的骨头的最大价值。注意,输入是先价值,后重量,别搞混了。解题思路是:设定一个Dp数组,初始全为0,用来存放”现阶段“最大的价值。#includeusing namespace std;#define MAXN 1100int DpValue[MAXN];原创 2012-08-10 12:20:16 · 404 阅读 · 0 评论 -
HDU2546 饭卡
问:给你N元,每一件食品可以购买一次,如果卡上多余5元即使透支也可以刷卡。少于5元不能使用,求最多能让卡的余额为多少?思路:背包问题,用DP,具体细节看注释!#include#includeusing namespace std;#define MAXN 1000 + 10int value[MAXN]; //value[i] 表示给你 i 元,你最多能花掉多少钱。原创 2012-08-25 21:28:42 · 982 阅读 · 0 评论 -
HDU1142 A Walk Through the Forest
题意:给你一个图,求从点1到点2有多少种不同的走法,并且每种走法都必须往点2更近的方向走。(也就是说下一个点必须比当前点更接近点2)思路:因为必须往点2更近的方向走,所以第一步必须先求出点2到每一个点的最短路径。用迪杰斯特拉算法。 设定一个DP数组,DP[i] 表示第i点到点2有多少种符合条件的走法。然后用递归的方法从1点求出到2点的符合条件的走法。具体思想看代码。原创 2012-08-27 10:23:33 · 527 阅读 · 0 评论