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

网站的网站建设公司揭阳网站制作计划

网站的网站建设公司,揭阳网站制作计划,wordpress响应式博客,网站建设创建本题链接:. - 力扣(LeetCode) 题目: 思路: 根据题意,这是一道很裸的背包问题,其中这里是返回 背包方案数 的。 我们可以直接推出公式 : dp [ j ] dp[ j - coins[ i ] ] 在我之前…

本题链接:. - 力扣(LeetCode)

题目:

思路:

        根据题意,这是一道很裸的背包问题,其中这里是返回 背包方案数 的。

我们可以直接推出公式 : dp [ j ] += dp[ j - coins[ i ] ]

在我之前做的笔记中,写过具体的背包方案数dp公式,参考我之前的详解即可:dp专题10 目标和 

最后我们再明确一下题目,题目要求是  硬币数量是无限的,说明这是一个 完全背包问题。

完全背包问题 和 01 背包问题区别在于 遍历背包的顺序。

01   背包的  背包 遍历顺序: 逆向。

完全背包的  背包 遍历顺序: 正向。

具体原理是:

背包 逆向 遍历的时候,  物品只能 取 1 次.(01 背包)

代码详解:


for(int i = 0;i < goods.size();++i)
{for(int j = v;j >= goods[i].v;--j){dp[j] = max(dp[j],dp[j - goods.v] + goods.w);}
}/*逆向 的时候,  j == 背包容量(v)   时, 只能取当前的一个 物品 i  随后随着 --j   后面  dp[j]  紧随其后  只取一个物品 i       所以达到了,只取 一次 的效果
*/   

 背包 正向 遍历的时候,  物品可以取多次.(完全 背包)

代码详解:


for(int i = 0;i < goods.size();++i)
{for(int j = goods[i].v;j <= v;++j){dp[j] = max(dp[j],dp[j - goods.v] + goods.w);}
}/*正向 的时候,  j == 物品容量(goods.v)   时, 取当前的一个 物品 i  随后随着 ++j   后面  dp[j]  紧随其后 取一个物品 i       直到达到了 dp[v] ,使得 物品 i 取了多次
*/   

所以 完全背包问题 和 01 背包问题区别在于 遍历背包的顺序。

同样的道理,我们结合dp递推的公式 + 背包遍历顺序,就可以解出这道完全背包问题方案数的问题了。

在这里再扩展一下问题,遍历顺序中,先遍历背包还是先遍历物品?

我们再看一下这两种遍历方法的效果:

①先遍历物品再遍历背包


for(int i = 0;i < goods.size();++i)    // 遍历物品
{for(int j = goods[i].v;j <= v;++j)    // 遍历背包{dp[j] = max(dp[j],dp[j - goods.v] + goods.w);}
}/*假设 物品 等于 下标那么背包会得到的集合是:{1} {1,2} , {2}{1,2,3} , {2,3} , {3}....获取的集合中不会出现 {2,1}... 等集合说明 先遍历物品再遍历背包是一个  组合 数*/   

②先遍历背包再遍历物品

for(int j = goods[i].v;j <= v;++j)    // 遍历背包
{for(int i = 0;i < goods.size();++i)    // 遍历物品{dp[j] = max(dp[j],dp[j - goods.v] + goods.w);}
}/*假设 物品 等于 下标那么背包会得到的集合是:{1} {1,2} , {2,1} ,{2}....获取的集合中会出现 {2,1}... 等集合说明 先遍历物品再遍历背包是一个  排列 数*/   

所以 背包问题 遍历顺序中 :

先遍历物品再遍历背包: 组合 数。

先遍历背包再遍历物品: 排列 数。

综上所述。

代码详解如下:

inline int change(int& amount, vector<int>& coins) 
{vector<int>dp(amount + 1,0);dp[0] = 1;    // dp 初始化  凑成 0 有 1种方法 就是 +0// 组合数遍历for(int &i:coins)    // 遍历物品{for(int j = i;j <= amount;++j)    // 遍历背包{dp[j] += dp[j - i];    // dp 递推公式}}return dp[amount];    // 返回结果
}

最后提交:

http://www.yayakq.cn/news/643834/

相关文章:

  • wordpress 全站pjax国示建设网站
  • 毕设做网站答辩会要求当场演示吗免费手机网站自助建站
  • 如何做视频网站流程图工业和信息化部电信设备认证中心
  • 马鞍山网站建设设计在国税网站怎么做实名
  • 网站优化排名软件推广徐州建设工程造价信息网
  • 网站建设有什么专业术语徐州人才网最新招聘2023
  • 有关网站开发的参考文献企业展厅设计公司哪个好看
  • 免费申请公司网站网站域名到期查询
  • 西安高端网站制作公司哪家好电子商务网站建设与管理实训
  • 做计算机题目的网站深圳网站托管
  • php网站开发设计模式百度竞价搜索
  • 思创医惠网站建设网站后台建设
  • seo做网站赚钱吗国外直播平台tiktok
  • 网站在线配色搭建个人视频网站
  • 酒店品牌网站建设推广wamp wordpress
  • 响应式网站设计软件多个域名指向同一个网站
  • 内部网站如何做查询工商营业执照
  • 做照片视频的网站做猎头可以在哪些网站注册
  • 手机版 pc 版本 网站 跳转 seo海南新闻在线中心
  • 微网站栏目wordpress路由规则
  • 九网互联怎么建设网站昆明网站建设哪家公司好
  • 手机网站建设免费网络营销的经典案例
  • com网站注册域名怎么下载网页上的视频
  • 网站开发职位描述石岩网站建设公司
  • 网站如何做中英文双语言五金东莞网站建设技术支持
  • 建设公司网站方案深圳网站设计我选刻
  • 手机号注册网站什么网站做效果图最多
  • 17网站一起做网店杭州网络营销效果评估的作用有哪些
  • 企业网站快速备案服务软件系统开发流程图
  • 网页该如何推广吉林seo排名公司