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

做网站的公司需要什么资质网站建设背景分析论文

做网站的公司需要什么资质,网站建设背景分析论文,怎么自己做直播网站吗,wordpress模板递归求解 钢条切割问题是《算法导论》上动态规划部分的第一个例题。这里就以算法导论上的例子来讨论这个问题。 例如当我们切割n4的钢条时,切割情况如下: 用递归方法解决这个问题时,代码如下(以n4为例): …

递归求解

钢条切割问题是《算法导论》上动态规划部分的第一个例题。这里就以算法导论上的例子来讨论这个问题。

 例如当我们切割n=4的钢条时,切割情况如下:

 用递归方法解决这个问题时,代码如下(以n=4为例):

#include <bits/stdc++.h>
using namespace std;// 价格数组
int val[11] = {0,1,5,8,9,10,17,17,20,24,30};int cut_rod(int p[],int n)
{if(n == 0) return 0; // 边界条件int q = -1;for(int i = 1;i <= n;i++)q = max(q,p[i]+cut_rod(p,n-i));return q;
}int main()
{cout << cut_rod(val,4) << endl;return 0;
}

其中 for(int i = 1;i <= n;i++) q = max(q,p[i]+cut_rod(p,n-i)) :

p[i]+cut_rod(p,n-i)为前 i 个长度不切割,后面 n-i 个长度切割所能取得的最大值。

动态规划求解

实际运行的时候我们会发现当n的规模偏大的时候,再使用递归的话,程序很有可能超过一个小时的运行时长。所以我们展示如何将这个钢条切割问题转换为一个更高效的动态规划算法。

朴素递归算法之所以效率很低,是因为它反复求解相同的子问题。因此动态规划方法仔细安排求解顺序,对每个子问题只求解一次,并将结果保存下来。所以我们看出:动态规划是付出额外的空间来节省计算时间。

这一题可以用一个数组 f[] ,其中 f[i] 表示长度为 i 的钢条能得到的最大的价值。因此状态转移方程就能写为:

 其中,val(j) 表示前 j 个长度不切割的钢条的价值。

代码实现:

#include <bits/stdc++.h>
using namespace std;const int N = 11;int n;
int val[11] = {0,1,5,8,9,10,17,17,20,24,30}; // 价格数组
int f[N];int main()
{n = 10;for(int i = 1;i <= n;i++){for(int j = 1;j <= i;j++){f[i] = max(f[i],val[j]+f[i-j]);}}cout << "最大价值:" << f[n] << endl;return 0;
}

运行结果:

构造最优解

我们还可以拓展动态规划算法,使之对每个子问题不仅保存最大价值,而且给出切割方案。

对于长度为j的钢条,我们保存最优解对应的第一段钢条的切割长度x[j]。接着就可以循环求出长度为j-x[j]的切割方案。

代码实现:

#include <bits/stdc++.h>
using namespace std;const int N = 11;int n;
int val[11] = {0,1,5,8,9,10,17,17,20,24,30}; // 价格数组
int f[N];
int x[N];int main()
{n = 10;for(int i = 1;i <= n;i++){for(int j = 1;j <= i;j++){if(f[i] < val[j]+f[i-j]) x[i] = j; // 记录第一次切割的长度f[i] = max(f[i],val[j]+f[i-j]);}}cout << "最大价值:" << f[n] << endl;// 构造最优解cout << "切割方案:";int ll = n;while(ll > 0){cout << x[ll] << " ";ll -= x[ll];}cout << endl;return 0;
}

运行结果:

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

相关文章:

  • 卖一手房做哪个网站好宜昌 网站建设
  • 曲靖网站制作安装wordpress导入工具栏
  • 无锡网站建设原则wordpress ssl 错位
  • 沈阳市住房和城乡建设厅网站首页wordpress list
  • 网站免费空间学而思编程网站
  • 南通做百度网站的公司网站个人如何开发手机app
  • 服装商店的网站建设要求WordPress全站跳转
  • 保定cms建站系统网站建设湖南岚鸿建设
  • 做竞品分析的网站中国互联网排名
  • 有关网站备案号规则阿里巴巴建设电子商务网站目的
  • 禹城网站设计建设银行的网站用户名是什么问题
  • 网站改版建设,有哪些内容新东方英语培训机构官网
  • 网站开发和维护合同什么网站用vue做的
  • 手机能建设网站吗wordpress 全宽页面
  • 学院网站建设工作会议怎么做网站主导航
  • 网站开发公司市场建筑设计公司属于什么行业类别
  • 自己建公司网站可以嘛深圳优化百度
  • 中国室内设计网站排名设计公司logo需要注意什么
  • 能下载的网站android开发app实例
  • 电商网站制作设计百度热搜广告设计公司
  • 柯桥建设集团网站全国医院的网站建设
  • 做蛋糕的企业网站wordpress 微博客
  • nginx即代理又做网站成都微信公众号外包
  • 自己免费做网站的流程重庆市建设工程造价信息官网
  • 傻瓜建站网上花店网站建设规划书
  • 双柏县住房和城乡建设局网站做交互网站
  • 顺的网站建设咨询自己ip做网站
  • 昌乐网站制作价格WordPress不收录首页
  • 尼高网站设计公司企业网站建设教程
  • 手机高端设计网站建设wordpress 生成海报