目录

那年深夏

引入

动态规划是什么?

2.什么是背包问题?

3.背包问题的使用价值

01背包

题目

用纯暴力思想分析

动态规划思想来做

二维版

一维优化版

变式

读题

分析

代码实现

完全背包

题目

分析

方案数填满型背包

方案数填满型01背包

题目

分析

代码

方案数填满型完全背包

题目

代码

最后


那年深夏

从晚霞漫天到黑暗阴森,只是一瞬。一阵晚风吹来,传来乌鸦沙哑的嘶鸣,将似暗未暗的荒野衬得更加寂寥了。

夜色降临,惨淡的月光洒满大地,荒寂的草丛在清冷月光的照耀下,生出无数诡秘暗影。小坟,单铲,一人。空灵中,乌鸦落地,一对皮靴,踏着稀草走来,一支手枪在残星中,若隐若现。

急促的喘息,伴着无限的悔恨,在飞快地装着物品。一件件珍物,从亡灵手中夺去,又经过精密的计算,动态规划算法的处理,装进背包。

        站起,提包,正去。“乌——”乌鸦嘶叫一声,一颗子弹划破夜空……


引入

上面的东西,目的在于骗取吸引读者,并回应某些人。同时,也起到了引出下文、暗示中心的目的。

没错,从标黑字体可以看出,今天我们要讲的是:背包问题。而且,我们用的是动态规划的算法。

动态规划是什么?

动态规划(英语:Dynamic programming,简称 DP),是一种在数学、管理科学、计算机科学、经济学和生物信息学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。动态规划常常适用于有重叠子问题和最优子结构性质的问题。

百度的还是那么严谨枯燥,简单来说,动态规划即:
通过将问题拆分成一个一个小问题,记录过往结果,减少重复运算。

举个栗子:

A : "1+1+1+1+1+1+1+1 =?"
A : "上面等式的值是多少"
B : 计算 "8"
A : 在上面等式的左边写上 "1+" 呢?
A : "此时等式的值为多少"
B : 很快得出答案 "9"
A : "你怎么这么快就知道答案了"
A : "只要在8的基础上加1就行了"
A : "所以你不用重新计算,因为你记住了第一个等式的值为8!动态规划算法也可以说是 '记住求过的解来节省时间'"


感谢

噩梦的开始:动态规划之背包问题(01背包问题、完全背包问题、方案数填满型背包问题)相关推荐

  1. 动态规划的用法——01背包问题

    动态规划的用法--01背包问题 问题主题:著名的01背包问题 问题描述: 有n个重量和价值分别为wi.vi的物品,现在要从这些物品中选出总重量不超过W的物品,求所有挑选方案中的价值最大值. 限制条件: ...

  2. 【动态规划】P1048 01背包问题:采药

    时间对应容量,用01背包 [动态规划笔记]01背包问题及优化_m0_52043808的博客-CSDN博客 代码: #include<iostream> using namespace st ...

  3. 动态规划之背包问题——01背包

    算法相关数据结构总结: 序号 数据结构 文章 1 动态规划 动态规划之背包问题--01背包 动态规划之背包问题--完全背包 动态规划之打家劫舍系列问题 动态规划之股票买卖系列问题 动态规划之子序列问题 ...

  4. 动态规划(一):0-1背包问题

    目录 前言 一.原理 1.1 最优子结构性质 1.2 递归关系 二.算法描述 2.1 算法描述 2.2 图解 2.3 构造最优解 三.0−10-10−1 背包问题相关题目 3.1 题目 3.2 源程序 ...

  5. 动态规划之背包问题---01背包---完全背包---多重背包

    本篇博客是基于Carl大佬的刷题笔记 (代码随想录) 进行总结的 另外加入了我自己的一些整理,特此记录,以防遗忘 几种在面试中常见的背包,其关系如下: 通过这个图,可以很清晰分清这几种常见背包之间的关 ...

  6. vs2017\vs2019 动态规划算法实现0-1背包问题 C

    这是针对于博客vs2017安装和使用教程(详细)和vs2019安装和使用教程(详细)的动态规划算法实现0-1背包问题的示例 目录 一.问题描述

  7. 动态规划:关于01背包问题 I

    动态规划:关于01背包问题,你该了解这些! 对于面试的话,其实掌握01背包,和完全背包,就够用了,最多可以再来一个多重背包. 如果这几种背包,分不清,我这里画了一个图,如下: 至于背包九讲其其他背包, ...

  8. 动态规划之如何将问题抽象转化为0-1背包问题(详解利用动态规划求方案数)

    ⭐️前面的话⭐️ 本篇文章介绍如何对问题抽象转化成0-1背包问题求解和运用0-1背包求方案数.

  9. 背包问题——01背包

    背包问题--01背包 01背包作为动态规划(dynamic programing)中最基础的问题,需要我们彻底理解其中的原理,为以后解决更难的动态规划问题打下良好的基础. 这里拟定一个01背包问题: ...

最新文章

  1. 还在用if(obj!=null)做非空判断?带你快速上手Optional实战性理解!
  2. 酷狗音乐QQ显示(VC源代码)
  3. qt 程序异常结束。_博声医疗:QT间期,QT间期正常范围
  4. 收藏:asp.net
  5. 无线局域网技术白皮书
  6. 【渝粤题库】国家开放大学2021春2626药事管理与法规题目
  7. 直白介绍卷积神经网络(CNN)
  8. 腾讯王者荣耀AI论文首次曝光:五AI王者局开黑与人类战队打成平手
  9. 半吊子架构师,一来就想干掉RabbitMQ
  10. yii2 联表查询时,查询关联表的字段时,使用asArray方法
  11. Ubuntu下安装JRE7
  12. 【工作方法系列】:STEP1 - 5分钟方法
  13. 嵌入式操作系统介绍之 NuttX
  14. edge bing搜索响应缓慢
  15. 个人电脑php漏洞怎么修复,PHP版 6.0 漏洞 要怎么修复
  16. spider_爬取斗图啦所有表情包(图片保存)
  17. 信息传递与交换是不是计算机网络的功能,计算机网络的主要功能是信息交换和____...
  18. 十进制负数转化成二进制
  19. AXI USB 2.0设备IP Core指导手册(第一章)
  20. 抖音企业号怎么注册?商家注册企业号全流程分享

热门文章

  1. matlab ukf,UKF(无迹卡尔曼滤波器)函数
  2. 知网下载论文(通过深圳图书馆)
  3. Python基础---输入和输出
  4. 从键盘输入接收多个整数,直到输入quit的时结束输入,把输入过的整数倒序排序输出。
  5. 在线图片处理工具大全!ps可以下岗了。
  6. ArcGIS Online试用版注册 并发布要素服务
  7. html中文网app,app.vue什么作用?
  8. html加入3d模型的,3dmax怎么给模型添加材质
  9. 慢慢欣赏linux CPU占用率和负载
  10. python 通过ftp自动 上传指定excel文件