当前位置: 首页 > news >正文

哈尔滨快速建站案例成都住房和城乡建设局 网站

哈尔滨快速建站案例,成都住房和城乡建设局 网站,100件机械创意产品设计,网站兼容性怎么解决代码随想录算法训练营第四十二天|背包问题理论基础、01背包理论基础#xff08;滚动数组#xff09;、416. 分割等和子集 背包问题理论基础 背包问题理论基础 文章讲解#xff1a;https://programmercarl.com/%E8%83%8C%E5%8C%85%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%8001%E…代码随想录算法训练营第四十二天|背包问题理论基础、01背包理论基础滚动数组、416. 分割等和子集 背包问题理论基础 背包问题理论基础 文章讲解https://programmercarl.com/%E8%83%8C%E5%8C%85%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%8001%E8%83%8C%E5%8C%85-1.html 题目链接https://kamacoder.com/problempage.php?pid1046 视频讲解https://www.bilibili.com/video/BV1cg411g7Y6/自己看到题目的第一想法 看完代码随想录之后的想法 先列出物品的重量、价值表格。 重量价值物品0115物品1320物品2430 得到dp[i][j]的定义 动态规划五步骤 dp[i][j]的定义dp[i][j] 表示从下标为[0-i]的物品里任意取放进容量为j的背包价值总和最大是多少。 递推公式不放物品i的时候最大价值为dp[i-1][j](其实就是当物品i的重量大于背包j的重量时物品i无法放进背包中所以背包内的价值依然和前面相同。因此在循环时会有背包大小的判断)放物品i的时候最大价值为dp[i-1][j - wight[i]] value[i]当i放进去时那么这时候整个物品集就被分成两部分1到i-1和第i个而这是i是确定要放进去的那么就把j空间里的wight[i]给占据了只剩下jwight[i]的空间给前面i1那么只要这时候前面i1在jwi空间里构造出最大价值即dp[i-1][j - wight[i]]再加上此时放入的i的价值vi就是dpij了所以递推公式dp[i][j] Math.max(dp[i-1][j],dp[i-1][j - wight[i]] value[i])见下面表格dp[i][j]由其上一个节点以及左上某一节点得到。 初始化值画出背包重量和物品的二维数组图。见下图可以得出dp[0][j]这一行的值为15。dp[i][0]这一列的初始值为0。 遍历顺序 for() ----- 物品 for()----背包 这里进行遍历的时候需要增加一个当前重量放不下的判断。 自己实现过程中遇到哪些困难 将2个数组入参改为二维数组然后处理逻辑。 做动态规划的题目最好的过程就是自己在纸上举一个例子把对应的dp数组的数值推导一下然后在动手写代码 01背包理论基础滚动数组 01背包理论基础滚动数组 文章讲解https://programmercarl.com/%E8%83%8C%E5%8C%85%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%8001%E8%83%8C%E5%8C%85-2.html 题目链接https://kamacoder.com/problempage.php?pid1046 视频讲解https://www.bilibili.com/video/BV1BU4y177kY/自己看到题目的第一想法 看完代码随想录之后的想法 dp[j]的定义容量为j的背包所背最大价值为dp[j]。递推公式滚动数组是把上一行的数组拷贝到当前行因此当前层不放物品i的最大价值就为dp[j]再按照二维数组的方式列出dp[i][j]的推导公式dp[i][j] Math.max(dp[i-1][j],dp[i-1][j - wight[i]] value[i]) -》最终dp[j] Math.max(dp[j],dp[j - wight[i]] value[i])初始化背包容量为0时最大价值肯定为0因此dp[0] 0;遍历顺序 for (i0;i物品数量;i) 物品 for(jbagweight; jweight[i];j–) 背包 为什么倒序遍历 因为正序遍历相同的物品会被添加2次不符合01背包的规则。 一维dp数组只能先遍历物品再遍历背包。 背包问题可以出一个完整的01背包题目比如互换遍历顺序二维转一维等。回顾的时候再看一看 自己实现过程中遇到哪些困难 分割等和子集 416. 分割等和子集 文章讲解https://programmercarl.com/0416.%E5%88%86%E5%89%B2%E7%AD%89%E5%92%8C%E5%AD%90%E9%9B%86.html 题目链接https://leetcode.cn/problems/partition-equal-subset-sum/ 视频讲解https://www.bilibili.com/video/BV1rt4y1N7jE/自己看到题目的第一想法 没有背包的思路。 看完代码随想录之后的想法 [1,5,11,5]所有的数相加然后除以2即为最大背包值。然后每个元素只能使用一次因此就为01背包问题。 背包问题的话有一个重量和价值这里价值重量判断能求得等和子集的条件为targetsum/2;最大价值dp[target] target。 动规五步曲 确定dp数组以及下标含义 dp[j]表示背包总容量是j放进物品后背的最大重量是dp[j]。 确定推导公式 01背包的递推公式为dp[j] max(dp[j], dp[j - weight[i]] value[i]); 本题相当于背包里放入数值那么物品i的重量是nums[i]其价值也是nums[i]。 所以递推公式dp[j] max(dp[j], dp[j - nums[i]] nums[i]);确定初始值 当背包大小为0时值为0。dp[0] 0;其他位置的初始值也使用0即可。 确定遍历顺序 根据一维数组的01背包先遍历物品然后再遍历重量遍历重量时从后往前遍历。 输出值 自己实现过程中遇到哪些困难 递推公式没出对 今日收获学习时长 背包问题完成的比较潦草等后续二刷 学习时长1小时
http://wiki.neutronadmin.com/news/412107/

相关文章:

  • 做购物网站哪种服务器好莱芜新闻民生广角
  • 榆林网站开发wordpress字不能
  • 手机网站建设的教程视频教程百度竞价渠道户
  • 网站下面的站长统计很逗seo整站优化吧
  • 上海市建设监理协会网站做dj网站
  • 上海短期网站建设培训我的wordpress不显示图片
  • 如何拷贝服务器里面网站做备份ui设计定义
  • 郑州做网站找哪家网站新闻发布后前台不显示
  • 印刷设计东莞网站建设免费网站推广网址
  • 怎么注册自己的网站wordpress小游戏主题
  • 关于数据机房建设的网站销售平台网站建设
  • 长沙民政计算机网站建设大气企业响应式网站
  • 荣耀商城官网网站广州网页设计机
  • 网页设计网站简单静态模板深圳网页制作模板
  • 华为弹性云做网站专门做女性产品的网站
  • 网站改版的宣传词奢侈品网站建设方案
  • 广州网站建设代理做网站需要注意的
  • 专业建站分销商城百度网页游戏中心
  • 焦作网站建设公司哪家好贵阳外发加工网
  • 网站优化推广seo公司网站怎么添加百度商桥
  • 最好的购物网站架设仿冒网站挂马
  • 包装纸箱公司怎么做网站seo服务公司上海
  • 微信视频网站怎么做怎么做游戏网站
  • 锦州网站建设品牌wordpress 做大型网站吗
  • 网站服务器 安全桂林小程序开发定制
  • 云南网站定制开发黄陂机械加工网
  • 公司网站做的一样算不算侵权6网络运维服务方案
  • 北京建设网站的公司哪家好深圳推广系统多少钱
  • 青海建设厅网站通知云南省城乡建设厅网站
  • 什么外贸网站做箱包好大连手机自适应网站制作费用