摘要: 题意: 输入t,表示t组样例。然后每组样例输入n,m,n表示物品个数,接着输入n个数。求从这些数中找出和不超过m的最多物品数量Max,以及满足Max个的种类。 分析:dp[i][k][j] 表示前i个物品中,挑选出k个物品的总和为j的数量。那么dp[i][k][j] = dp[i-1][k][j] 阅读全文
posted @ 2016-05-05 19:39 梦中。。 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 题意:输入n,m,表示有n个物品,m单位的钱,接下来输入n行 p, q, v 分别表示 花费, 手中需要有的费用, 价值。求最多能够取得的价值。 分析:如果没有q的话就是简单的01背包,加入q这个限制条件后,需要对物品的q-p进行升序排序。 原因: for (i=1; i<=n; i++) for 阅读全文
posted @ 2016-05-05 19:31 梦中。。 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 题意:输入t,t组测试样例,每组样例输入 n, v, k. 接着输入n个物品的价值,再输入n个物品的体积。求k优解。 分析:dp[n][v][k]表示n个物品,在体积不超过v的情况,第k大的值是多少。dp[i][v][k]与dp[i-1][v][k]与dp[i-1][v-volume[i]]+val 阅读全文
posted @ 2016-05-05 11:21 梦中。。 阅读(124) 评论(0) 推荐(0) 编辑