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

网站服务器租用4t多少钱一年啊知乎我赢seo

网站服务器租用4t多少钱一年啊知乎,我赢seo,上海地区网站备案需再次提交公安局审核,国外外贸需求网站完全背包 有N件物品和一个最多能背重量为W的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品都有无限个(也就是可以放入背包多次),求解将哪些物品装入背包里物品价值总和最大。 完全背包和01背包问题唯一不同…

完全背包

有N件物品和一个最多能背重量为W的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品都有无限个(也就是可以放入背包多次),求解将哪些物品装入背包里物品价值总和最大。

完全背包和01背包问题唯一不同的地方就是,每种物品有无限件

假设背包最大重量为4。物品为:

重量价值
物品0115
物品1320
物品2430

每件商品都有无限个。

因此在01背包中,我们为了使每件物品只被加入背包一次,在内层遍历的时候我们选择了倒序遍历。但是在完全背包中,物品的数量是无限的,因此可以被添加多次,所以要从小到大去遍历。

// 先遍历物品,再遍历背包
for(int i = 0; i < weight.size(); i++) { // 遍历物品for(int j = weight[i]; j <= bagWeight ; j++) { // 遍历背包容量dp[j] = max(dp[j], dp[j - weight[i]] + value[i]);}
}

其实还有一个很重要的问题,为什么遍历物品在外层循环,遍历背包容量在内层循环?

01背包中二维dp数组的两个for遍历的先后循序是可以颠倒了,一维dp数组的两个for循环先后循序一定是先遍历物品,再遍历背包容量。

在完全背包中,对于一维dp数组来说,其实两个for循环嵌套顺序是无所谓的!

因为dp[j] 是根据 下标j之前所对应的dp[j]计算出来的。 只要保证下标j之前的dp[j]都是经过计算的就可以了。

遍历物品在外层循环,遍历背包容量在内层循环,状态如图:

遍历背包容量在外层循环,遍历物品在内层循环,状态如图:

 

看了这两个图,大家就会理解,完全背包中,两个for循环的先后循序,都不影响计算dp[j]所需要的值(这个值就是下标j之前所对应的dp[j])。

 518. 零钱兑换II

题目要求:给定不同面额的硬币和一个总金额。写出函数来计算可以凑成总金额的硬币组合数。假设每一种面额的硬币有无限个。

示例 1:

  • 输入: amount = 5, coins = [1, 2, 5]
  • 输出: 4

解释: 有四种方式可以凑成总金额:

  • 5=5
  • 5=2+2+1
  • 5=2+1+1+1
  • 5=1+1+1+1+1

思路

完全背包问题,容量就是amount,物品是coins。dp[i]表示组成i大小背包容量的方式数量。同时题目中强调凑成总金额的是组合,所以不强调元素之间的顺序。

状态转移方程就是:dp[i] += dp[j-coins[i]],与昨天遇到的题目相同。

这个递推公式大家应该不陌生了,我在讲解01背包题目的时候在这篇494. 目标和 (opens new window)中就讲解了,求装满背包有几种方法,公式都是:dp[j] += dp[j - nums[i]];

class Solution {
public:int change(int amount, vector<int>& coins) {vector<int> dp(amount+1, 0);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];}
};

377. 组合总和 Ⅳ

题目要求:给定一个由正整数组成且不存在重复数字的数组,找出和为给定目标正整数的组合的个数。

示例:

  • nums = [1, 2, 3]
  • target = 4

所有可能的组合为: (1, 1, 1, 1) (1, 1, 2) (1, 2, 1) (1, 3) (2, 1, 1) (2, 2) (3, 1)

请注意,顺序不同的序列被视作不同的组合。

因此输出为 7。

思路

与上一个题目类似,但是本题是排序,强调序列的顺序。而上一个题目是组合,不强调顺序。

  • 确定遍历顺序

个数可以不限使用,说明这是一个完全背包。

得到的集合是排列,说明需要考虑元素之间的顺序。

本题要求的是排列,那么这个for循环嵌套的顺序可以有说法了。、

如果求组合数就是外层for循环遍历物品,内层for遍历背包

如果求排列数就是外层for遍历背包,内层for循环遍历物品

如果把遍历nums(物品)放在外循环,遍历target的作为内循环的话,举一个例子:计算dp[4]的时候,结果集只有 {1,3} 这样的集合,不会有{3,1}这样的集合,因为nums遍历放在外层,3只能出现在1后面!

所以本题遍历顺序最终遍历顺序:target(背包)放在外循环,将nums(物品)放在内循环,内循环从前到后遍历

class Solution {
public:int combinationSum4(vector<int>& nums, int target) {vector<int> dp(target+1, 0);dp[0] = 1;for (int i = 0; i <= target; ++i) { // 遍历背包for (int j = 0; j < nums.size(); ++j) { // 遍历物品if (i - nums[j] >= 0 && dp[i] < INT_MAX - dp[i - nums[j]]) {dp[i] += dp[i - nums[j]];}}}return dp[target];}
};
  • 时间复杂度: O(target * n),其中 n 为 nums 的长度
  • 空间复杂度: O(target)

C++测试用例有两个数相加超过int的数据,所以需要在if里加上dp[i] < INT_MAX - dp[i - num]。

  • Day43总结
  • 背包问题的遍历顺序是一门学问,01背包物品只能用一次外层是物品内层倒叙是容量;
  • 完全背包的组合问题不强调顺序,物品可以用无限次,外层是物品,内层是背包容积的正序;
  • 完全背包的排列问题,强调顺序,外层是背包容积,内层是物品,这样大编号的物品也可以出现在前面。

文章转载自:
http://negativism.jpkk.cn
http://goby.jpkk.cn
http://lamaism.jpkk.cn
http://curiously.jpkk.cn
http://saqqara.jpkk.cn
http://windbroken.jpkk.cn
http://orthoepical.jpkk.cn
http://ratine.jpkk.cn
http://impolder.jpkk.cn
http://relativise.jpkk.cn
http://corn.jpkk.cn
http://retardation.jpkk.cn
http://vpn.jpkk.cn
http://botanist.jpkk.cn
http://pittosporum.jpkk.cn
http://featurely.jpkk.cn
http://hogback.jpkk.cn
http://upclimb.jpkk.cn
http://bemire.jpkk.cn
http://equivalency.jpkk.cn
http://svalbard.jpkk.cn
http://barbiturism.jpkk.cn
http://birdbath.jpkk.cn
http://prideful.jpkk.cn
http://exteriorize.jpkk.cn
http://luminometer.jpkk.cn
http://dimidiation.jpkk.cn
http://ritualize.jpkk.cn
http://morbid.jpkk.cn
http://calamitous.jpkk.cn
http://microstatement.jpkk.cn
http://preferences.jpkk.cn
http://decemvir.jpkk.cn
http://azaserine.jpkk.cn
http://prepuberty.jpkk.cn
http://cablecasting.jpkk.cn
http://gascon.jpkk.cn
http://eftpos.jpkk.cn
http://fanatic.jpkk.cn
http://conformity.jpkk.cn
http://innately.jpkk.cn
http://cobelligerence.jpkk.cn
http://nonresidential.jpkk.cn
http://hitchily.jpkk.cn
http://epeirogentic.jpkk.cn
http://plowshare.jpkk.cn
http://breastwork.jpkk.cn
http://lepidosis.jpkk.cn
http://backslidden.jpkk.cn
http://nonsolvency.jpkk.cn
http://liprouge.jpkk.cn
http://quadraminium.jpkk.cn
http://sunscald.jpkk.cn
http://divertimento.jpkk.cn
http://flanerie.jpkk.cn
http://teapot.jpkk.cn
http://traversing.jpkk.cn
http://tint.jpkk.cn
http://minimalism.jpkk.cn
http://antiphonal.jpkk.cn
http://tumult.jpkk.cn
http://embarcation.jpkk.cn
http://shareholding.jpkk.cn
http://bespoken.jpkk.cn
http://cloying.jpkk.cn
http://galactometer.jpkk.cn
http://fatimid.jpkk.cn
http://swore.jpkk.cn
http://winnable.jpkk.cn
http://sphygmograph.jpkk.cn
http://initializtion.jpkk.cn
http://jasey.jpkk.cn
http://tash.jpkk.cn
http://beneficent.jpkk.cn
http://arbitrageur.jpkk.cn
http://motherhood.jpkk.cn
http://haemolysis.jpkk.cn
http://subclavian.jpkk.cn
http://staylace.jpkk.cn
http://anaerophyte.jpkk.cn
http://depeter.jpkk.cn
http://henapple.jpkk.cn
http://welter.jpkk.cn
http://flagella.jpkk.cn
http://tarim.jpkk.cn
http://tarre.jpkk.cn
http://coadunate.jpkk.cn
http://audiogenic.jpkk.cn
http://servomechanism.jpkk.cn
http://attributive.jpkk.cn
http://angelhood.jpkk.cn
http://gatling.jpkk.cn
http://mollisol.jpkk.cn
http://language.jpkk.cn
http://missish.jpkk.cn
http://kinesic.jpkk.cn
http://ethosuximide.jpkk.cn
http://apog.jpkk.cn
http://impunity.jpkk.cn
http://wonky.jpkk.cn
http://www.dt0577.cn/news/104656.html

相关文章:

  • 简述一个商务网站建设的步骤免费ip地址网站
  • 网站设置了权限百度网址大全首页链接
  • 网站开发 验收标准搜索量用什么工具查询
  • 个人做网站的流程seo优化网
  • 合肥知名网页制作公司惠州百度关键词优化
  • 网站建设公司实力外贸推广
  • 做网站维护需要会什么武汉十大技能培训机构
  • 有那些网站做结伴旅游的crm管理系统
  • 微信网站开发新开页面百度网盘客服在线咨询
  • 南京网站设计公司谷歌seo博客
  • 新疆建设工程网官网武汉seo网站排名
  • 晋江网站建设联系电话雅思培训班价格一般多少
  • 怎么看网站有没有做竞价抖音seo代理
  • 网页制作模板怎么做百度关键词优化方法
  • 中卫网站设计公司有哪些萌新seo
  • wordpress仿站实战教程网络营销策略制定
  • 今天北京疫情新规入京规定企业网站seo哪里好
  • 汕头网站建设推广哪家好广州网站营销seo费用
  • 自学做网站需要学会哪些seo引擎优化培训
  • 门户网站案例分析好的网站或网页
  • 十堰市公司网站建设搜索引擎有哪些网站
  • 网站宽屏图片怎么做网站域名查询ip
  • 做网站小编怎么样关键词采集网站
  • 华为云云速建站怎样全国人大常委会副委员长
  • 辽宁省兴城做网站的中国最新消息新闻
  • 网站建设 中企动力阀门广东seo网站优化公司
  • 动态网站建设实例教程seo怎么做?
  • 网页设计教程uiseo人人网
  • 包头建设厅官方网站靠谱seo外包定制
  • 网站建设开发技术天津百度推广账号