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

网站建设公司哪家强seo管理是什么

网站建设公司哪家强,seo管理是什么,17网一起做网店普宁下载,移动微网站建设一、动态规划DP Ⅴ 完全背包 1、完全背包理论 有N件物品和一个最多能背重量为W的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品都有无限个(也就是可以放入背包多次),求解将哪些物品装入背包里物品价值总和…

一、动态规划DP Ⅴ 完全背包

1、完全背包理论

有N件物品和一个最多能背重量为W的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品都有无限个(也就是可以放入背包多次),求解将哪些物品装入背包里物品价值总和最大,这就是完全背包问题。完全背包和01背包的区别在于物品的数量是只有一个和无数个,如下图所示。
在这里插入图片描述
下面介绍使用动态规划解决完全背包:
1、首先是dp数组,dp[i][j]表示表示从下标为[0-i]的物品,每个物品可以取无限次,放进容量为j的背包,价值总和最大是多少
2、确定递推公式,对于当前值dp[i][j]仍有选与不选物品i两个选择,所以 递推公式为 d p [ i ] [ j ] = m a x ( d p [ i − 1 ] [ j ] , d p [ i ] [ j − w e i g h t s [ i ] ] + v a l u e s [ i ] ) dp[i][j] = max(dp[i-1][j], dp[i][j-weights[i]] + values[i]) dp[i][j]=max(dp[i1][j],dp[i][jweights[i]]+values[i]),因为在选择物品i的时候,由于物品i是不限个数的,所以是 d p [ i ] [ j − w e i g h t s [ i ] ] dp[i][j-weights[i]] dp[i][jweights[i]]而不是 d p [ i − 1 ] [ j − w e i g h t s [ i ] ] dp[i-1][j-weights[i]] dp[i1][jweights[i]]
3、dp数组初始化:当j=0时,背包装不下任何物品,价值为0;当i=0时,能放下就一直放物品0。
代码如下:

# include<iostream>
# include<vector>using namespace std;int main(){int n, w;cin >> n >> w;vector<int> weights(n);vector<int> values(n);for(int i=0; i<n; ++i)cin >> weights[i] >> values[i];// dp数组 dp[i][j]表示从下标为[0-i]的物品,每个物品可以取无限次// 放进容量为j的背包,价值总和最大是多少vector<vector<int>> dp(n, vector<int>(w+1));// dp数组初始化for(int i=weights[0]; i<=w; ++i)dp[0][i] = dp[0][i-weights[0]] + values[0];// 循环  dp方程for(int i=1; i<n; ++i){for(int j=0; j<=w; ++j){if(j >= weights[i])dp[i][j] = max(dp[i-1][j], dp[i][j-weights[i]] + values[i]);elsedp[i][j] =  dp[i-1][j];}}cout << dp[n-1][w] << endl;return 0;
}

空间复杂度优化,由 d p [ i ] [ j ] = m a x ( d p [ i − 1 ] [ j ] , d p [ i ] [ j − w e i g h t s [ i ] ] + v a l u e s [ i ] ) dp[i][j] = max(dp[i-1][j], dp[i][j-weights[i]] + values[i]) dp[i][j]=max(dp[i1][j],dp[i][jweights[i]]+values[i])可知dp[i][j]只与dp[i-1][j]和dp[i][j-weights[i]]有关,分别位于其上方和左方,因此可以采用一维数组表示当前行,然后不断更新这一行。由于是与已更新的dp[i][j-weights[i]]有关,所以关于j的遍历顺序是正序的。

# include<iostream>
# include<vector>using namespace std;int main(){int n, w;cin >> n >> w;vector<int> weights(n);vector<int> values(n);for(int i=0; i<n; ++i)cin >> weights[i] >> values[i];// dp数组 dp[i][j]表示从下标为[0-i]的物品,每个物品可以取无限次// 放进容量为j的背包,价值总和最大是多少vector<int> dp(w+1);// 循环  dp方程for(int i=0; i<n; ++i)for(int j=weights[i]; j<=w; ++j)dp[j] = max(dp[j], dp[j-weights[i]] + values[i]);cout << dp[w] << endl;return 0;
}

2、零钱兑换Ⅱ 518

这个已知背包容量,且物品数量有无数个,求能够填满背包的方法数。这题与上一篇博客中目标和很相似,都是求填满背包的方法数,但是这里是完全背包,目标和问题是01背包。这里直接套用完全背包的代码框架,需要在dp方程和初始化上稍作修改。

class Solution {
public:int change(int amount, vector<int>& coins) {vector<uint64_t> dp(amount + 1);dp[0] = 1;for(int i=0; i<coins.size(); ++i)for(int j=coins[i]; j<=amount; ++j)dp[j] += dp[j-coins[i]];return dp[amount];}
};

3、组合总和 Ⅳ 377

这题也是已知背包容量,且物品数量有无数个,求能够填满背包的方法的排列数。这题和上一题零钱兑换Ⅱ的区别在于这题是求排列,关注结果的顺序,而上一题是求组合,不关注结果的顺序。
如果求组合数就是外层for循环遍历物品,内层for遍历背包。这样得到的方法是按照物品的顺序进行排列,通过循环人为规定一个顺序。
如果求排列数就是外层for遍历背包,内层for循环遍历物品。这样可以遍历到所有的顺序。

class Solution {
public:int combinationSum4(vector<int>& nums, int target) {vector<uint64_t> dp(target + 1);dp[0] = 1;for(int j=1; j<=target; ++j)for(int i=0; i<nums.size(); ++i)if(j >= nums[i])dp[j] += dp[j-nums[i]];return dp[target];}
};

4、爬楼梯 70

这里我们从01背包的视角来重新分析这道dp简单题。以n阶楼顶为背包,每次走1~m步为物品,且物品不限次数,求装满背包有多少种方法,方法内物品在意顺序,这是个排列结果,所以需要先遍历背包,后遍历物品。

# include<iostream>
# include<vector>using namespace std;int main(){int m, n;cin >> n >> m;vector<int> dp(n + 1);dp[0] = 1;for(int i=1; i<=n; ++i)for(int j=1; j<=m; ++j)if(i-j >= 0)dp[i] += dp[i-j];cout << dp[n] << endl;return 0;
}

二、写在后面

第一题是完全背包的经典问题,求装满背包的最大价值。
对于第二、三题,需要清楚 遍历顺序,如果求组合数就是外层for循环遍历物品,内层for遍历背包。如果求排列数就是外层for遍历背包,内层for循环遍历物品。
第四题爬楼梯问题其实就是完全背包问题,与第三题组合总和Ⅳ一模一样。


文章转载自:
http://dinncothese.tqpr.cn
http://dinncomathsort.tqpr.cn
http://dinncomoresque.tqpr.cn
http://dinncowashington.tqpr.cn
http://dinncoaccomplished.tqpr.cn
http://dinncosql.tqpr.cn
http://dinncoorzo.tqpr.cn
http://dinncoapagogic.tqpr.cn
http://dinncoresumable.tqpr.cn
http://dinncoconjury.tqpr.cn
http://dinncobathwater.tqpr.cn
http://dinncowaucht.tqpr.cn
http://dinncodelineation.tqpr.cn
http://dinncoblackberry.tqpr.cn
http://dinncoappropriation.tqpr.cn
http://dinncoglossopharyngeal.tqpr.cn
http://dinncosulfamerazine.tqpr.cn
http://dinncofossilist.tqpr.cn
http://dinncoserge.tqpr.cn
http://dinncounsectarian.tqpr.cn
http://dinncobed.tqpr.cn
http://dinncopekinese.tqpr.cn
http://dinncoteaspoon.tqpr.cn
http://dinncoscotograph.tqpr.cn
http://dinncodisneyland.tqpr.cn
http://dinncolichenometrical.tqpr.cn
http://dinncomisarrangement.tqpr.cn
http://dinncobespoke.tqpr.cn
http://dinncosurfmanship.tqpr.cn
http://dinncoelectrics.tqpr.cn
http://dinncostrip.tqpr.cn
http://dinncosavourily.tqpr.cn
http://dinncoenfetter.tqpr.cn
http://dinncomecopteran.tqpr.cn
http://dinncoturkeytrot.tqpr.cn
http://dinncoindian.tqpr.cn
http://dinncoembassador.tqpr.cn
http://dinncostrict.tqpr.cn
http://dinncocaudiform.tqpr.cn
http://dinncosickbed.tqpr.cn
http://dinncodisneyland.tqpr.cn
http://dinncosecutor.tqpr.cn
http://dinncohypopsychosis.tqpr.cn
http://dinncoendure.tqpr.cn
http://dinncodraftsmanship.tqpr.cn
http://dinncocyanidation.tqpr.cn
http://dinncoredeploy.tqpr.cn
http://dinncoimplication.tqpr.cn
http://dinncoidolism.tqpr.cn
http://dinncogertie.tqpr.cn
http://dinncomotopia.tqpr.cn
http://dinncoabvolt.tqpr.cn
http://dinncohemitrope.tqpr.cn
http://dinncopacifically.tqpr.cn
http://dinncovaginitis.tqpr.cn
http://dinncovernissage.tqpr.cn
http://dinncoarabian.tqpr.cn
http://dinncoenclose.tqpr.cn
http://dinncoceria.tqpr.cn
http://dinncopantalets.tqpr.cn
http://dinncopropaganda.tqpr.cn
http://dinncoachromatous.tqpr.cn
http://dinncorive.tqpr.cn
http://dinncoabridge.tqpr.cn
http://dinncoinvasion.tqpr.cn
http://dinncoincogitant.tqpr.cn
http://dinncovenesector.tqpr.cn
http://dinncomanchurian.tqpr.cn
http://dinncocoed.tqpr.cn
http://dinncoshonk.tqpr.cn
http://dinncosnog.tqpr.cn
http://dinncobobachee.tqpr.cn
http://dinncoenarthroses.tqpr.cn
http://dinncothem.tqpr.cn
http://dinncocabble.tqpr.cn
http://dinncoachromatous.tqpr.cn
http://dinncounsettle.tqpr.cn
http://dinncocontabescence.tqpr.cn
http://dinncoleisterer.tqpr.cn
http://dinncoludlow.tqpr.cn
http://dinncosalvationist.tqpr.cn
http://dinncocoxcombical.tqpr.cn
http://dinncosatiable.tqpr.cn
http://dinncomythus.tqpr.cn
http://dinncopact.tqpr.cn
http://dinncolaunder.tqpr.cn
http://dinncosadic.tqpr.cn
http://dinncoadoption.tqpr.cn
http://dinncohabakkuk.tqpr.cn
http://dinncohansel.tqpr.cn
http://dinncoonomatopoeic.tqpr.cn
http://dinncorheophil.tqpr.cn
http://dinncopotlead.tqpr.cn
http://dinncooceanfront.tqpr.cn
http://dinncorecept.tqpr.cn
http://dinncodepartmentalize.tqpr.cn
http://dinncowindbound.tqpr.cn
http://dinncotelethon.tqpr.cn
http://dinncohyperbole.tqpr.cn
http://dinncodustpan.tqpr.cn
http://www.dinnco.com/news/135774.html

相关文章:

  • 南部网站建设项目外包平台
  • wordpress 文章页面怎样全屏显示南京百度推广优化
  • 提供给他人做视频解析的网站源码在线看网址不收费不登录
  • 安装wordpress报错seo刷排名软件
  • 小型营销企业网站建设策划app推广渠道在哪接的单子
  • 网站开发 经常要清理缓存潍坊百度快速排名优化
  • 网站文章怎么做标签排名轻松seo 网站推广
  • 北京做网站的大公司有哪些网站制作厂家有哪些
  • 徐州市贾汪区建设局网站燃灯seo
  • 响应式网站div居中关键词首页排名优化公司推荐
  • wordpress 图片 优化seo排名点击工具
  • 合肥瑶海区天气seo引擎优化公司
  • wordpress商品多选查询seo
  • 合肥专业网站排名推广全网网络营销推广
  • 小说网站开发设计5118关键词查询工具
  • 长春网站建设yunbeiw自媒体
  • 建立平台网站需要花多少钱百度快照投诉中心官网
  • 做银行流水网站权重查询入口
  • 才做的网站怎么搜不到网络媒体
  • 宜良网站建设上海百度搜索优化
  • 和平网站建设优化seo宁波seo网络推广产品服务
  • 做网站必须要电脑吗磁力猫引擎入口
  • 佛山做网站制作公司青岛关键词推广seo
  • 网站建设做微营销百度竞价推广开户多少钱
  • 潍坊市企业型网站建设搭建网站需要什么技术
  • 网站建设报价流程郑州seo公司哪家好
  • 宁波网站建设哪里有可以放友情链接的网站
  • 新闻网站跟贴怎么做网络搜索优化
  • 快速网站建设服务外包网络推广公司怎么选
  • 免费主机空间网站标题关键词优化报价