首页 > 其他分享 >背包题型总结

背包题型总结

时间:2024-07-09 16:57:21浏览次数:9  
标签:总结 题型 背包 模型 无序 完全 物品 楼梯

概述

大致分为以下几类:

  1. 01背包
  2. 完全背包
  3. 混合背包
  4. 二维背包
  5. 分组背包

以及一个变式:跳楼梯模型,本质是转移顺序的改变。

01 背包

特点:无序加入,每个物品加一次。

完全背包

特点:无序加入,每个物品无限加。

变式:跳楼梯模型:问跳完一段楼梯有多少种不同的方案数

这两者的区别就在于:

  1. 跳楼梯模型仅限于求方案数,而完全背包既可以求方案数,也可以求最优解。
  2. 跳楼梯模型强调有序 ,即要考虑谁先放谁后放;而完全背包强调无序,两个物品先放后放不会影响最终答案。
  3. 转移顺序不同。

第三点的区别最主要体现在代码上:

完全背包是外层先循环物品种类,然后循环背包容量。这样就可以通过人为地定一个放的顺序来达到无序的效果。
跳楼梯模型是外层先循环背包容量,然后循环物体种类。这样就可以使后放的情况包含先放的情况。
具体区别可以看这两个题,很明显:

跳楼梯模型:纸币问题2
完全背包:纸币问题3

标签:总结,题型,背包,模型,无序,完全,物品,楼梯
From: https://www.cnblogs.com/zhr0102/p/18292310

相关文章

  • 动态规划入门/背包
    投资的最大效益题目背景约翰先生获得了一大笔遗产,他暂时还用不上这一笔钱,他决定进行投资以获得更大的效益。银行工作人员向他提供了多种债券,每一种债券都能在固定的投资后,提供稳定的年利息。当然,每一种债券的投资额是不同的,一般来说,投资越大,收益也越大,而且,每一年还可以根据资金......
  • Java基础知识总结
    一、什么是JavaJava是一种高级编程语言,由SunMicrosystems公司于1995年推出。Java具有跨平台性、面向对象、健壮性、安全性、可移植性等特点,被广泛应用于企业级应用开发、移动应用开发、大数据处理、云计算等领域。Java程序可以在不同的操作系统上运行,只需编译一次,就可以在任......
  • Java知识体系总结
    IO流待整理:File、递归字节流、字节缓冲流编码表、编码方式、转换流、序列化、序列化流、打印流、commons-io网络编程网络概述、网络模型Socket原理机制资源下载:python33UDPTCP/IP协议、OSI七层协议、HTTP、HTTP2.0、HTTPS网络安全​XSS、CSRF、SQL注入、Hash......
  • nuxtjs 2.x.x坑点总结
    1、缩放适配参考:https://blog.csdn.net/weixin_44599931/article/details/136539941坑点:不要用postcss-px2rem,会和nuxt引入公共css冲突,改用postcss-pxtorem可解决2、axios使用坑点:不要配置axios的headers,会导致源代码中seo失效,以及刷新页面后axios请求直接失效3、多环境变......
  • 【产品经理修炼之道】-产品经理入门经验总结
    想做好产品经理这一岗位首先需要有产品经理的自我定位,其次需要做好整个项目流程的工作;当然,如何高效沟通是产品经理非常重要的一个工作技能,对工作效率有非常大的影响。接下来,让我们看看作者是如何做的吧~刚刚接触产品经理的同学,或多或少都会因未知产生恐惧和迷茫,所以需要提前......
  • mysql注入总结
    1.SQL注入漏洞概述什么是SQL注入SQL注入(SQLi)是一种网络安全漏洞,允许攻击者干扰应用程序对其数据库的查询。通过浏览器或者其他客户端将恶意SQL语句插入到网站参数中,而网站应用程序未对其进行过滤,SQL语句带入数据库使恶意SQL语句得以执行可以查看通常无法检索的数据。这可能包括......
  • Go 中空结构体的用法,我帮你总结全了!
    Go中空结构体的用法,我帮你总结全了!原创 江湖十年 Go编程世界 2024年06月05日07:51 浙江 4人听过在Go语言中,空结构体 struct{} 是一个非常特殊的类型,它不包含任何字段并且不占用任何内存空间。虽然听起来似乎没什么用,但空结构体在Go编程中实际上有着广泛的应......
  • Linux环境中应急响应与排查溯源思路总结
    0前言在应急响应和溯源时,经常会遇见Linux系统环境,然后小编经常只记得思路忘记部分命令,下面是小编对Linux环境下应急响应和排查的思路总结。本文来源无问社区(wwlib.cn)更多详细内容可前往观看http://www.wwlib.cn/index.php/artread/artid/2729.html1目录文件分析1.1系统用......
  • 数据分析-Excel篇总结
    sum函数:1.对选定的区域进行求和,可以是整行、整列或一个区域。2.英文输入=sum,按Tab键建立sum函数,再选中区域。3.注意列、行的标签索引,如C14.sum函数可以不在同一表里操作。5.视图-新建窗口,可以建立一个一模一样的excel表格,不影响原表格操作,看着方便6.视图-冻结窗格,可以冻......
  • Redis核心问题总结(二)
    统计高并发网站每个网页每天的UV数据,结合Redis你会如何实现?选用方案:HyperLogLog如果统计PV那非常好办,给每个网页一个独立的Redis计数器就可以了,这个计数器的key后缀加上当天的日期。这样来一个请求,incrby一次,最终就可以统计出所有的PV数据。但是UV不一样,它要去......