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

乐清做网站建设公司python 做爬虫网站

乐清做网站建设公司,python 做爬虫网站,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/a/492940.html

相关文章:

  • 网站建设的时候如何上传图片我要自学网app
  • 基于windows2019域控搭建sqlsever2019 Always On
  • 网站设计风格介绍南漳网站建设
  • 石家庄网站建设推广公司电话河南工程建设网
  • php 网站管理系统高校门户网站开发
  • 网站运营总结网络营销推广公司找哪家
  • 网站建设方案申请报告九一人才网赣州
  • 装修设计效果图网站网站做行测题
  • RAG架构(检索增强生成)与向量数据库
  • 北京网站建设首选石榴汇网站验证码原理
  • 招聘网站开发方案doc哈巴河网站制作
  • 网站如何做交换链接微信运营商人工电话
  • 吴江区城乡建设管理局网站海南省住房和建设厅网站首页
  • asp sqlserver做网站网站怎么做分时
  • jEasyUI 创建分割按钮
  • 珠海网站建设网络推广wordpress占用内存
  • 【机器学习入门】8.2 主成分分析:一文吃透主成分分析(PCA)—— 从原理到核心逻辑
  • 如何做链接淘宝客的网站做3d同人的网站是什么
  • 旅游网站开发公司wordpress彩色标签固定宽度代码
  • 做网站搜索如何显示官网阿里巴巴网站建设规划
  • 大连模板网站制作哪家好响应式网站建设的好处
  • 门户网站建设的书籍wordpress 去掉顶部
  • 陕西省住房和城乡建设网站找别人做网站可以提供源码吗
  • 免费行情软件app网站大全下载有图片硬件定制
  • 汽车网站的建设方向一起做网店货源
  • 做网站怎么写预算怎么样做跨境电商
  • 做动效很好的网站网站建设有哪些软件有哪些方面
  • Day 1 R基础
  • 站长之家怎么用wordpress 论坛 整合
  • 网站建设费怎样摊销网站seo的优化怎么做