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

网站建设公司 成都个人求职网站履历怎么做

网站建设公司 成都,个人求职网站履历怎么做,宁波海曙网站开发,python网站开发架构准备:完全背包理论基础-二维DP数组 1.完全背包就是同一物品可以往里多次装 2.这里先遍历背包 或物品都可以 3.dp[i][j] 表示从下标为[0-i]的物品,每个物品可以取无限次,放进容量为j的背包,价值总和最大是多少 518.零钱兑换II (1)题目描述…

准备:完全背包理论基础-二维DP数组

1.完全背包就是同一物品可以往里多次装
2.这里先遍历背包 或物品都可以
3.dp[i][j] 表示从下标为[0-i]的物品,每个物品可以取无限次,放进容量为j的背包,价值总和最大是多少

518.零钱兑换II

(1)题目描述:

(2)解题思路:

class Solution {
public:int change(int amount, vector<int>& coins) {vector<int> dp(amount + 1, 0);dp[0] = 1; // 只有一种方式达到0for (int i = 0; i < coins.size(); i++) { // 遍历物品for (int j = coins[i]; j <= amount; j++) { // 遍历背包if (dp[j] < INT_MAX - dp[j - coins[i]]) { //防止相加数据超intdp[j] += dp[j - coins[i]];}}}return dp[amount]; // 返回组合数}
};

(3)总结:

1.状态表示:
dp[i][j] 表示:从前 i 个物品中挑选,总体积不超过 j ,所有的选法中,能挑选出来的最⼤价值。(同01背包问题)
2. 状态转移⽅程:
3. 初始化:
我们多加⼀⾏,⽅便我们的初始化,此时仅需将第⼀⾏初始化为 0 即可。因为什么也不选,也能满⾜体积不⼩于 j 的情况,此时的价值为 0 。
4. 填表顺序:
根据状态转移⽅程,我们仅需从上往下填表即可。
 

377. 组合总和 Ⅳ

(1)题目描述:

(2)解题思路:

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];}
};

(3)总结:

1.和上一题基本一样,只是在遍历顺序上不同(本题不同的排列顺序也算一种情况)
2.强调顺序时一定是先遍历背包再遍历物品

70. 爬楼梯(进阶版)

(1)题目描述:

(2)解题思路:

#include <iostream>
#include <vector>
using namespace std;
int main() {int n, m;while (cin >> n >> m) {vector<int> dp(n + 1, 0);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;}
}

(3)总结:

1.确定dp数组以及下标的含义
dp[i]:爬到有i个台阶的楼顶,有dp[i]种方法。
2.确定递推公式
求装满背包有几种方法,递推公式一般都是dp[i] += dp[i - nums[j]];
本题呢,dp[i]有几种来源,dp[i - 1],dp[i - 2],dp[i - 3] 等等,即:dp[i - j]
那么递推公式为:dp[i] += dp[i - j]
3.dp数组如何初始化
既然递归公式是 dp[i] += dp[i - j],那么dp[0] 一定为1,dp[0]是递归中一切数值的基础所在,如果dp[0]是0的话,其他数值都是0了。
下标非0的dp[i]初始化为0,因为dp[i]是靠dp[i-j]累计上来的,dp[i]本身为0这样才不会影响结果
4.确定遍历顺序
这是背包里求排列问题,即:1、2 步 和 2、1 步都是上三个台阶,但是这两种方法不一样!
所以需将target放在外循环,将nums放在内循环。
每一步可以走多次,这是完全背包,内循环需要从前向后遍历。
5.举例来推导dp数组
 

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

相关文章:

  • 小纯洁网站开发深圳龙华区是不是很偏
  • 网站优化方式有哪些没文化可以学网络营销吗
  • 做网站属于无形资产还是费用室内效果图代做网站
  • 网站开发了解客户需求魔云手机建站
  • 桂林 门户网站一站式媒体发稿平台
  • 郴州竞价网站建设方案企业级网站欣赏
  • 网站模板哪个网站好装修网站怎么做的好
  • 做视频网站带宽不够怎么办怎样判断网站的seo信息好坏
  • 公司旅游视频网站模板烟台网站建设烟台
  • 制作网站软件用什么语言wordpress 友情链接 nofollow
  • 个人网站logo图片wordpress 4.7解析
  • 网站预付款怎么做会计分录赣州百度
  • mvc中手把手做网站网站建站ddp
  • 怎样攻击网站营销型网站建设的重要原则
  • asp.net网站建设ppt路桥区高质量营销型网站建设
  • 简单手机网站源码下载新乡网络营销外包公司
  • 全flash 电子商务网站如何推广h5制作企业网站有哪些优势
  • 彩票网站开发与建设塑胶东莞网站建设技术支持
  • 如此查询网站名字是否注册九江市建设工程门户网站
  • 电子商务网站建设与管理试题答案江苏建设人才网 官网
  • 淘客网站怎么做 知乎北京网站设计方案
  • wordpress gateway优化推广排名网站教程
  • 昆山公司做网站做网站买什么服务器 便宜
  • 书荒小说阅读器是哪个网站做的做系统去哪个网站
  • 北京建设工程交易网站官网wordpress主题外贸网站
  • 网站网页设计教程属于建设工程合同的有哪些
  • 阿里巴巴网站首页怎么制作宁波论坛网站哪个最好
  • 盐城网站建设网站制作推广软件外包产业是什么
  • 产品介绍网站设计企业网站建设总体构架
  • 沈阳招聘网站开发最新百度快速排名技术