动态规划 —— 背包问题
【概述】
背包问题(Knapsack problem)是一种组合优化的NP完全问题。
问题可以描述为:给定一组物品,每种物品都有自己的重量和价格,在限定的总重量内,我们如何选择,才能使得物品的总价格最高。问题的名称来源于如何选择最合适的物品放置于给定背包中。
也可以将背包问题描述为决定性问题,即:在总重量不超过W的前提下,总价值是否能达到V?
【分类】
- P01 0-1背包问题:最基本的背包问题,每个物品最多只能放一次。 点击这里
- P02 完全背包问题:基本的背包问题模型,每种物品可以放无限多次。 点击这里
- P03 多重背包问题:每种物品有一个固定的次数上限。 点击这里
- P04 混合三种背包问题:将前三种的问题叠加成较复杂的问题。 点击这里
- P05 二维费用的背包问题:费用增加了一维。 点击这里
- P06 分组的背包问题:对于每件物品,具有两种不同的费用;选择这件物品必须同时付出这两种代价。 点击这里
- P07 有依赖的背包问题:给物品的选取加上限制的方法。 点击这里
- P08 泛化物品的背包问题:没有固定的费用和价值,而是它的价值随着你分配给它的费用而变化。 点击这里
- P09 背包问题问法的变化:除在背包容量的限制下求可取最大价值外的其他问法。 点击这里
【例题】
各种背包问题模版:点击这里
1.01背包
- 开心的金明(洛谷-P1060):点击这里
- 小A点菜(洛谷-P1164):点击这里
- 采药(洛谷-P1048):点击这里
同题:采药(信息学奥数一本通-T1290):点击这里 - 装箱问题(洛谷-P1049):点击这里
- Bone Collector(HDU-2602):点击这里
同题:装箱问题(信息学奥数一本通-T1295):点击这里 - 01背包问题(信息学奥数一本通-T1267):点击这里
- Charm Bracelet(信息学奥数一本通-T1294):点击这里
英文版:Charm Bracelet(POJ-3624):点击这里 - 榨取kkksc03(洛谷-P1855):点击这里
- 正整数分组(51Nod-1007):点击这里
- 开餐馆(信息学奥数一本通-T1296):点击这里
- 烹调方案(洛谷-P1417)(贪心+01背包):点击这里
- Proud Merchants(HDU-3466)(贪心+01背包):点击这里
- Cow Roller Coaster(POJ-3257)(贪心+01背包):点击这里
- Big Event in HDU(HDU-1171)(思维+01背包):点击这里
- Course Selection System(ZOJ-3956)(公式推导+01背包):点击这里
- Dima and Salad(CF-366C)(扩容+01背包):点击这里
- Simple Knapsack(AtCoder-2556)(扩容+01背包):点击这里
- 多米诺骨牌(洛谷-P1282)(思维+扩容+01背包):点击这里
2.完全背包
- 完全背包问题(信息学奥数一本通-T1268):点击这里
- 疯狂的采药(洛谷-P1616):点击这里
- Piggy-Bank(HDU-1114)(思维+完全背包):点击这里
- Battle Ships(ZOJ-3623)(思维+完全背包):点击这里
- Dollar Dayz(POJ-3181)(完全背包+高精度加法):点击这里
3.多重背包
- 庆功会(信息学奥数一本通-T1269):点击这里
- Buns(CF-106C):点击这里
- 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(HDU-2191):点击这里
- Ant Counting(POJ-3046)(贪心+多重背包):点击这里
4.其他
- 混合背包(信息学奥数一本通-T1270)(01背包+完全背包+多重背包):点击这里
- The Fewest Coins(POJ-3260)(完全背包+多重背包):点击这里
- 潜水员(信息学奥赛一本通-T1271)(二维费用背包):点击这里
- 宠物小精灵之收服(信息学奥赛一本通-T1292)(二维费用背包):点击这里
- 分组背包(信息学奥赛一本通-T1272)(分组背包):点击这里
- Washing Clothes(POJ-3211)(分组背包+01背包):点击这里
- 金明的预算方案(洛谷-P1064)(有依赖的背包):点击这里
- 货币系统(信息学奥赛一本通-T1273)(最优方案数):点击这里
- 数字组合(信息学奥数一本通-T1291)(方案总数):点击这里
- 买书(信息学奥数一本通-T1293)(方案总数):点击这里
- 高橋君とカード / Tak and Cards(AtCoder-2037)(方案总数):点击这里
动态规划 —— 背包问题相关推荐
- 贪婪算法、递归计算、动态规划背包问题
//贪婪算法计算背包问题public static double ksack(double[] values, double[] weights, int capacity){double load ...
- 动态规划——背包问题(01背包问题)
动态规划--背包问题(01背包问题) 01背包问题(求最大价值): 问题优化 01背包问题(求方案数): 动态规划--背包问题(01背包问题) 01背包问题(求最大价值): 有N件物品和一个最多能背重 ...
- 动态规划背包问题优化空间复杂度——滚动数组
动态规划背包问题优化空间复杂度--滚动数组 背包问题 空间复杂度优化 Java代码 链接:代码随想录背包问题 背包问题 背包问题是动态规划中基本的问题,我们考虑下面的简单问题: 假设背包容量为 ...
- 动态规划——背包问题(详解)
动态规划是我最早接触的算法,一开始非常简单,固定模板题,后来愈发愈发难起来了,条件,状态压缩等等,难点主要是,状态怎么表示,状态转移方程怎么写,这篇文章将会从背包五大问题详解,希望能帮助到大家去类比, ...
- 动态规划——背包问题
动态规划--背包问题 对于背包问题,今天我们先讲解,01背包,完全背包,和多重背包.我主要从: 什么题可以用背包问题解决 背包问题的模板细节,如何准确写出背包. 1.什么题可以用背包问题解决 看到题目 ...
- 动态规划背包问题详解(二)---0-1背包问题
/** * 对于技术面试,你还在死记硬背么? * 快来"播"沙糖橘吧, * 用视频案例为你实战解读技术难点 * 聚焦Java技术疑难点,实战视频为你答疑解惑 * 越&qu ...
- 【入门级】Java解决动态规划背包问题
目录 前言 动态规划背包问题是什么? 动态规划解题转代码 第一步:拆包填表格 第二步:转为代码 一.首先看空表格:即初始化代码 二.看怎么循环填表格 三.输出结果(最大价值) 第三步:完整代码 动态规 ...
- Java-算法-动态规划-背包问题
看完本篇文章可以再多练习相似题目 算法-动态规划-背包问题-附一 一. 背包问题介绍 1. 最原始的背包问题 给定一组物品,每种物品都有自己的重量和价格,在限定的总重量内,我们如何选择 ...
- 动态规划---背包问题分析
0/1背包 问题描述 有N件物品和一个容量为V的背包,第i件物品的体积为c[i],价值为w[i].求将哪些物品放进背包可以使物品价值总和最大(有两种情况:不要求填满背包和填满背包). 每件商品只有一件 ...
- 动态规划 —— 背包问题 P09 —— 背包问题的变化
[输出方案] 一般而言,背包问题是要求一个最优值,如果要求输出这个最优值的方案,可以参照一般动态规划问题输出方案的方法:记录下每个状态的最优值是由状态转移方程的哪一项推出来的,换句话说,记录下它是由哪 ...
最新文章
- 网络上的FreeBSD在线文档
- python学习:语句
- ES6-14 Unicode表示法、字符串方法、模板字符串
- bum报文_Vxlan学习笔记——原理
- SaaS-HRM(5)系统用户权限设计(角色管理、权限和资源管理)
- 台式计算机怎么连手机热点,台式电脑怎么连接手机热点进行上网
- VS code(Visual Studio Code)乱码解决方法
- 新手怎么购买阿里云服务器【图文教程】
- 中国大学MOOC-陈越、何钦铭-数据结构
- 激励人生成功的10句经典中英文
- 我们平常习惯讲的手机容量-运行内存(RAM)和机身内存(ROM)的理解
- 基于51单片机HX711的电子秤称重计价proteus仿真程序设计
- 模电(三)晶体三极管
- java手机游戏开发人才短缺
- MATLAB人工神经网络的手写数字识别系统
- 英语年份怎么读(2008怎么读)
- Mina GMS/MEID Activate 本地解锁真实速度
- Linux服务器必会命令-操作秀
- 计算机键盘上顿号在哪,电脑键盘上的顿号在哪个位置,最简单实用的电脑知识...
- 无人机不能解锁四个电机发出滴滴滴的声音
热门文章
- 码农30岁后的体检——你最需要的是直面的勇气
- mysql 数据库event_mysql数据库事件调度(Event)
- 罗马音平假名片假名转换器_记不住五十音的你,你肯定需要这套日语五十音谐音巧记法...
- 电商后台原型 rp_电商选型:一站式线上商城的重要性
- 三问Spring事务:解决什么问题?如何解决?存在什么问题?
- 原创 | 万万没想到,JVM内存结构的面试题可以问的这么难?
- 剥开浮躁表面,直指金融科技内心
- 轻量级Java持久化框架,Hibernate完美助手,Minidao 1.6.2版本发布
- Spring Boot开发之流水无情(二)
- Q-learning家族【强化学习】