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

网站平台建立实时积分榜

网站平台建立,实时积分榜,西安网站制作设计找哪家,网络营销公司怎么找文章目录前言一、完全背包问题之组合问题---先物体再背包容量(背包)1.代码2.输出结果如下:3.现在我们来分析一下这个输出结果:二、完全背包问题之排列问题---先背包再物体1.代码2.输出结果如下:3.分析输出结果三、对比…

文章目录

  • 前言
  • 一、完全背包问题之组合问题---先物体再背包容量(背包)
    • 1.代码
    • 2.输出结果如下:
    • 3.现在我们来分析一下这个输出结果:
  • 二、完全背包问题之排列问题---先背包再物体
    • 1.代码
    • 2.输出结果如下:
    • 3.分析输出结果
  • 三、对比输出结果
  • 总结


前言

这段时间在学习代码随想录的动态规划篇,学到完全背包的时候理解不了为什么改变遍历顺序就可以改变成排列和组合问题,于是我自己动手遍历了一下,做一个记录。


一、完全背包问题之组合问题—先物体再背包容量(背包)

因为一维和二维思路都是差不多的,为了和下面的排列问题一一对应,这块就直接用一维的进行演示,代码如下:

1.代码

int combinationSum4(vector<int>& nums, int target) {int n = nums.size();vector<int> dp(target + 1, 0);dp[0] = 1;for (int i = 0; i < n; i++){for (int j = 0; j <= target; j++){if (j >= nums[i]) dp[j] += dp[j - nums[i]];cout << dp[j] << " ";}cout << endl;}return dp[target];}

2.输出结果如下:

组合问题输出结果

3.现在我们来分析一下这个输出结果:

输出结果分析
我们这里默认将新的元素加在集合的最后面,在排列方法中也是这样。

二、完全背包问题之排列问题—先背包再物体

1.代码

int arrangeSum4(vector<int>& nums, int target) {int n = nums.size();//dp[i]:容量为i的背包可以装下的组成i的排列数为dp[i];vector<int> dp(target + 1, 0);dp[0] = 1;for (int i = 0; i <= target; i++){for (int j = 0; j < n; j++){if (i >= nums[j]) dp[i] += dp[i - nums[j]];cout << dp[i] << " ";}cout << endl;}return dp[target];}

2.输出结果如下:

排列问题输出结果

3.分析输出结果

输出结果分析
上面我们也说了,每次添加的时候会将新加入的元素放在最后面(同意放在最前面也是可以的哈)。

三、对比输出结果

本来我思路是比较乱的,但是当把这两张图画完之后,可以看出来:
对于组合问题,先遍历物体,再遍历背包容量,最后的结果数组的顺序就会按照我们的nums数组的顺序进行排列,在我们的这个例子中,也就是所有的结果数组都是按照从小到大排的,严格按照1, 2, 3的顺序。
但是对于排序问题,先遍历背包容量,再遍历物体,最后的结果就会出现并非按照数组顺序的排列情况,也就是所谓的排列问题,因为遍历相同的背包容量时,我们都会把每一个元素再重新遍历一遍。


总结

这篇博客是为了记录我在学习动态规划部分想不通的问题,也就是所谓的组合与排列问题,通过画图的方式我最终得到了结论,于是把这个结论记录下来。

http://www.dtcms.com/wzjs/161465.html

相关文章:

  • seo整站优化外包服务高端网站设计
  • 校园门户网站系统建设关键技术服务器租用
  • 网站建设对于电子商务的意义今日微博热搜榜前十名
  • 别人冒用我们公司做的网站怎么关掉seo咨询推广
  • 网站策划的工作要求国产长尾关键词拘挖掘
  • 中国最近新闻大事件东莞搜索网络优化
  • 家居网站建设营销推广昭通网站seo
  • 安监网站如何做紧急预案备案关键词快速排名平台
  • 广州 网站制作公司 网络服务网站推广优化的公司
  • 哪个网站亲子游做的好国外搜索引擎优化
  • 哪里租服务器做网站百度官网网站
  • 查电商软件下载小红书seo排名优化
  • wordpress隐秘链接合肥网络公司seo
  • 网站二维码链接怎么做的百度经验实用生活指南
  • 网站做支付要多少钱教育机构培训
  • 做简单手机网站多少钱呀aso优化运营
  • 如何做网站使用手册seo怎么收费seo
  • 中元建设集团股份有限公司网站自己怎么制作网页
  • 集团网站建设特点互联网课堂seo优化包括
  • 深圳龙华网站开发网络营销方法有什么
  • 网站目录优化百度宣传推广费用
  • 电子商务网站建设作品360搜索首页
  • 定制网站建设价格惠州百度推广排名
  • 盐城网站平台建设seo网络优化日常工作内容
  • 网站开发公司谁家好最佳的资源磁力搜索引擎
  • 软件网站开发公司站长工具seo综合查询分析
  • 中国建设银行网站主要功能动态网站的制作与设计
  • 网站建设策划 流程图今日国家新闻
  • 怎样做交互式网站免费建站哪个网站最好
  • 个人网站备案后做游戏今天最新新闻国内大事件