摘要: 原题 原题链接 题目大意 给出硬币面额及每种硬币的个数,求从1到m能凑出面额的个数。 题目分析 多重背包模板题,不过需要状压一波.首先定义dp[i][j]为前i个物品凑到j价格第i种硬币最多剩下多少.dp初始化为-1,点dp[0][0]=0,然后更新如下,if(dp[i-1][j]!=-1) dp[ 阅读全文
posted @ 2019-02-25 20:36 VBL 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 原题 原题链接 题目大意 题目是讲有一个储钱罐,给出空罐时重量E,目前罐的重量F,已知罐里硬币的种类,有n种,每一种都给出其价值p[i]和重量w[i],问该罐里至少有多少钱?如果硬币不能刚好凑够该重量则输出-1. 题目解析 为了讲题方便,我把题目空罐时质量换成m0,目前罐的重量换成m,价值改成v[i 阅读全文
posted @ 2019-02-25 19:39 VBL 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 原题 原题链接 题目大意 题目大概是讲有一个背包(给容量),然后又一排骨头,骨头有体积和价值,你要用这个背包装这些骨头,使骨头的价值之和最大化,并输出该值. 题目分析 标准的01背包模板.这里讲一下01背包的更新过程,首先设一个dp数组(一维),dp[i]表示用i格容量最多能装多少价值的东西,数组初 阅读全文
posted @ 2019-02-25 17:02 VBL 阅读(138) 评论(0) 推荐(0) 编辑