![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
背包
tmhhh
这个作者很懒,什么都没留下…
展开
-
诡异的饭卡
题目描述 电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额。如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无法购买(即使金额足够)。所以大家都希望尽量使卡上的余额最少。某天,食堂中有n种菜出售,每种菜可购买一次。已知每种菜的价格以及卡上的余额,问最少可使卡上的余额为多少。 输入 多组数据。对于每组数据:第一行为正整数n,表...原创 2018-12-27 20:19:24 · 545 阅读 · 0 评论 -
关于完全背包的一点理解
基本思路中 的状态转移方程可以等价地变形成这种形式:f[i][v]=max{f[i-1][v],f[i][v-w[i]]+c[i]} 在考虑“加选一件第i 种物品”这种策略时,却正需要一个可能已选入第i种物品的 子结果f[i][v-w[i]],所以就可以并且必须采用v= 0..V的顺序循环 将这个方程用一维数组实现,便得到了下面的代码。 for(v=w[i];v<=m;v++) ...原创 2018-12-28 18:43:43 · 207 阅读 · 0 评论 -
01背包(需要输出每个物体状态)
题目描述 给定n种物品和一个背包,物品i的重量是Wi,其价值为Vi,问如何选择装入背包的物品,使得装入背包的物品的总价值最大? 在选择装入背包的物品时,对每种物品i只能有两种选择,装入或者不装入,不能装入多次,也不能部分装入。 输入 第一行输入物品的个数n。 第二行输入物品的重量序列w。(中间有空格) 第三行输入物品的价值序列v。(中间有空格) 第四行输入背包容量c。 输出 ...原创 2018-12-25 20:24:01 · 1952 阅读 · 3 评论