背包题目的合集(第一弹)

       此为目前刷的题,作为第一弹题集,也可能是最后一弹了。。。

________________________________________华丽丽的分割线________________________________________________

hdu2602——01背包

题意:

给出n个物品的花费与价值,与包的容量,求价值最高

题解:

基础

 

 

 

       poj3624——01背包

题意:

给n个物品的花费和价值,包总量为m,问可放下的最多价值

 

 

 

       hdu1114——完全背包

题意:空罐重与满的时候的重量,再给出n种硬币的价值和重量,求满罐时的最少价值

 

 

 

 

       hdu1712——分组背包

题意:有n种课,总共m天。给出每种课分别花1-k天后的value,求最大

 

 

 

 

       poj2063——完全背包

题意:有a元本金,存y年。有n个银行,花c元可以每年可以收益v元。求最大本息和。

题解:注意缩小,细节

 

 

 

 

       hdu2126——01背包最优解个数

题意:

给n个物品的花费,包容量为m,求放下最多物品的方法数

题解:

 

 

 

 

       hdu2546——01背包+贪心

题意:

给n个物品的花费,与饭卡中的余额,卡中余额小于5时无法购买,大于等于5时可购买(可透支),求花费最多后的余额

题解:

贪心从小到大排序

 

 

 

 

       hdu2639—— 01背包K优解

题意:

给出n个物品的花费与价值,求第k高的价值

题解:

01背包的K优解,无重

两个数组的无重合并那比较考验代码能力

 

 

 

 

       hdu3466——01背包限制+贪心

题意:

给n个物品的花费、最小需要的容量(若容量小于这个数则不能拿)和价值,与总容量,求最高价值

题解:

需要排序保证

 

 

 

 

       poj2184——01背包花费为负

题意:

給n个物品,每个物品有价值TS与TF(范围:[-1000,1000]),取多个物品,在TS的和与TF的和均为正的情况下,使其和最大

题解:

花费为负时,v-cost>v(每个v由v-cost与自身比较),所以要从小到大遍历

此题注意:仅有0为有效初始状态

 

 

 

 

       hdu2955——01背包转换

题意:

理想被抓的最大概率v,给出n个银行的价值和被抓概率(double),求概率小于v时的最高价值

题解:

将花费与价值交换

 

 

 

 

       poj1787——多重背包+记录路径

题意:总费用n,给出1元,5元,10元,25元的硬币个数,打印使用硬币数最多的方案

 

 

 

 

       poj3260——多重背包

题意:有n种硬币,且价值v的你有c个,需要购买T的货物,求使用的硬币和找回来的硬币和最小

 

 

 

 

       hdu3033——分组背包

题意:给n个物品,总背包大小,分组数。给每个物品的组别,花费,价值。求在每组最少选一个的情况下的最大价值。

题解:增加一条选择路径:上一组完成的背包+当前物品

 

 

 

 

       poj2923——状压+01背包

题意:

给n个物品,有c1和c2两辆车,求将所有物品运送的最小的次数(两辆车一起)

题解:

n<10,状压

将可以一次运送的所有状态存储

以这些状态进行背包,花费判断为:v&sig==0(没有同一件物品被多次运送)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值