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

建一个网站的手机电脑seo工程师是什么职业

建一个网站的手机电脑,seo工程师是什么职业,嘉定西安网站建设,搜索引擎优化主要包括Day 4:背包问题、最长递增子序列(LIS) 📖 一、动态规划(Dynamic Programming)简介 动态规划是一种通过将复杂问题分解成更小的子问题来解决问题的算法设计思想。它主要用于解决具有最优子结构和重叠子问题…

Day 4:背包问题、最长递增子序列(LIS)


📖 一、动态规划(Dynamic Programming)简介

动态规划是一种通过将复杂问题分解成更小的子问题来解决问题的算法设计思想。它主要用于解决具有最优子结构重叠子问题的问题。

  • 最优子结构:问题的最优解可以通过子问题的最优解组合得到。
  • 重叠子问题:子问题的解可以在多次计算中复用,避免了重复计算。

在使用动态规划时,通常会构造一个“状态转移方程”,该方程描述了如何通过子问题的解来得到当前问题的解。


📖 二、背包问题

01背包问题(0/1 Knapsack)

问题描述: 给定一个背包和若干个物品,每个物品有一个重量和价值。求背包能够承载的最大价值。

  • 背包容量:W
  • 物品数目:n
  • 每个物品的重量和价值分别为 w[i]v[i]
  • 我们需要选择一些物品放入背包,使得背包的总价值最大。

思路与分析

  1. 状态定义
    • 定义 dp[i][w] 为前 i 个物品中,放入背包容量为 w 时能够达到的最大价值。
  2. 状态转移
    • 如果不选择第 i 个物品:dp[i][w] = dp[i-1][w]
    • 如果选择第 i 个物品:dp[i][w] = dp[i-1][w - weight[i]] + value[i],前提是 w >= weight[i]
  3. 最终的答案为 dp[n][W]

代码实现(01背包问题)

public class Knapsack {public int knapsack(int W, int[] weights, int[] values, int n) {// dp[i][w]表示前i个物品,背包容量为w时的最大价值int[][] dp = new int[n + 1][W + 1];// 填表,i表示物品数量,w表示背包容量for (int i = 1; i <= n; i++) {for (int w = 1; w <= W; w++) {// 不选择第i个物品dp[i][w] = dp[i - 1][w];// 选择第i个物品,前提是背包容量足够if (w >= weights[i - 1]) {dp[i][w] = Math.max(dp[i][w], dp[i - 1][w - weights[i - 1]] + values[i - 1]);}}}return dp[n][W];}public static void main(String[] args) {Knapsack knapsack = new Knapsack();int[] weights = {2, 3, 4, 5}; // 物品的重量int[] values = {3, 4, 5, 6};  // 物品的价值int W = 5;  // 背包容量int n = weights.length; // 物品数量int maxValue = knapsack.knapsack(W, weights, values, n);System.out.println("最大价值: " + maxValue); // 输出 7}
}

代码讲解

  1. 二维DP数组dp[i][w] 表示前 i 个物品,背包容量为 w 时能达到的最大价值。
  2. 状态转移:通过选择或不选择第 i 个物品来更新 dp[i][w]
  3. 时间复杂度:O(n * W),其中 n 是物品的数量,W 是背包容量。

📖 三、最长递增子序列(LIS)

问题描述: 给定一个整数数组,求该数组的最长递增子序列(LIS)的长度。

  • 数组的递增子序列是数组中的一个子序列,并且这个子序列中的元素是严格递增的。
  • 我们要求的是最长递增子序列的长度。

思路与分析

  1. 状态定义
    • 定义 dp[i] 表示以 nums[i] 结尾的最长递增子序列的长度。
  2. 状态转移
    • 对于每个元素 nums[i],检查它之前的所有元素 nums[j],如果 nums[i] > nums[j],则更新 dp[i]dp[j] + 1
  3. 最终的答案是 dp 数组中的最大值。

代码实现(LIS)

public class LIS {public int lengthOfLIS(int[] nums) {if (nums == null || nums.length == 0) {return 0;}int n = nums.length;int[] dp = new int[n];// 初始化dp数组,每个位置的初始值都是1for (int i = 0; i < n; i++) {dp[i] = 1;}// 枚举每个元素,检查之前的元素for (int i = 1; i < n; i++) {for (int j = 0; j < i; j++) {if (nums[i] > nums[j]) {dp[i] = Math.max(dp[i], dp[j] + 1);}}}// 找出dp数组的最大值,即最长递增子序列的长度int maxLength = 0;for (int length : dp) {maxLength = Math.max(maxLength, length);}return maxLength;}public static void main(String[] args) {LIS lis = new LIS();int[] nums = {10, 9, 2, 5, 3, 7, 101, 18};System.out.println("最长递增子序列的长度: " + lis.lengthOfLIS(nums)); // 输出 4}
}

代码讲解

  1. 动态规划数组dp[i] 表示以 nums[i] 为结尾的最长递增子序列的长度。
  2. 双重循环:对于每个元素 nums[i],检查它之前的元素 nums[j],如果满足递增条件,更新 dp[i]
  3. 最终结果:在 dp 数组中找出最大的值即为最长递增子序列的长度。

时间复杂度

  • O(n^2),因为每个元素都需要与之前的所有元素比较。

📖 四、总结

背包问题常考点

  1. 01背包问题:经典的动态规划问题,重点是理解状态转移方程,通过选择与不选择物品来更新背包容量的最大价值。
  2. 背包问题优化:可以使用滚动数组优化空间复杂度,将 dp 数组从二维优化为一维。

最长递增子序列(LIS)常考点

  1. 状态转移:LIS 是一个非常经典的动态规划问题。每个 dp[i] 由之前的所有 dp[j] 推导出。
  2. 优化空间复杂度:O(n^2) 的时间复杂度较高,可以通过二分查找等优化方法将时间复杂度降到 O(n log n)。

常见易错点

  1. 背包问题:忘记更新 dp[i][w],或者状态转移写反了,导致背包容量或物品数目错误。
  2. LIS问题:对比 nums[i] > nums[j] 时,处理不当可能导致未能正确记录递增关系。


文章转载自:
http://tanner.xsfg.cn
http://coniferous.xsfg.cn
http://trichinella.xsfg.cn
http://manifest.xsfg.cn
http://longawaited.xsfg.cn
http://underbuy.xsfg.cn
http://oppugn.xsfg.cn
http://expediently.xsfg.cn
http://hutment.xsfg.cn
http://bywork.xsfg.cn
http://unisys.xsfg.cn
http://woke.xsfg.cn
http://boarder.xsfg.cn
http://underflow.xsfg.cn
http://those.xsfg.cn
http://scrambling.xsfg.cn
http://manganous.xsfg.cn
http://rhodium.xsfg.cn
http://hybridism.xsfg.cn
http://beemaster.xsfg.cn
http://tachymetabolism.xsfg.cn
http://carillon.xsfg.cn
http://tolerant.xsfg.cn
http://venezuelan.xsfg.cn
http://sclerodermatitis.xsfg.cn
http://hydnocarpate.xsfg.cn
http://housewarming.xsfg.cn
http://photophobe.xsfg.cn
http://azimuth.xsfg.cn
http://carolingian.xsfg.cn
http://begrime.xsfg.cn
http://fantail.xsfg.cn
http://mulligan.xsfg.cn
http://delilah.xsfg.cn
http://daiquiri.xsfg.cn
http://fermentative.xsfg.cn
http://talus.xsfg.cn
http://knapweed.xsfg.cn
http://collative.xsfg.cn
http://cimbalom.xsfg.cn
http://mephitis.xsfg.cn
http://gimmal.xsfg.cn
http://lassa.xsfg.cn
http://depress.xsfg.cn
http://causticity.xsfg.cn
http://clotho.xsfg.cn
http://perchloride.xsfg.cn
http://trot.xsfg.cn
http://berne.xsfg.cn
http://attila.xsfg.cn
http://lagomorph.xsfg.cn
http://rarp.xsfg.cn
http://jonquil.xsfg.cn
http://froe.xsfg.cn
http://heortology.xsfg.cn
http://harslet.xsfg.cn
http://vitligo.xsfg.cn
http://success.xsfg.cn
http://agouty.xsfg.cn
http://blacklight.xsfg.cn
http://aphonia.xsfg.cn
http://platinate.xsfg.cn
http://toxicoid.xsfg.cn
http://whiplike.xsfg.cn
http://crispy.xsfg.cn
http://incoagulable.xsfg.cn
http://electroacoustic.xsfg.cn
http://tergant.xsfg.cn
http://dr.xsfg.cn
http://onthe.xsfg.cn
http://cysticercus.xsfg.cn
http://diffractometry.xsfg.cn
http://sensationalism.xsfg.cn
http://fishfall.xsfg.cn
http://sorta.xsfg.cn
http://irq.xsfg.cn
http://impenetrability.xsfg.cn
http://morale.xsfg.cn
http://issa.xsfg.cn
http://silesia.xsfg.cn
http://sinbad.xsfg.cn
http://bicrural.xsfg.cn
http://precooler.xsfg.cn
http://initiative.xsfg.cn
http://tailoring.xsfg.cn
http://splenomegaly.xsfg.cn
http://noumenally.xsfg.cn
http://shansi.xsfg.cn
http://foreigner.xsfg.cn
http://detectivism.xsfg.cn
http://prise.xsfg.cn
http://geromorphism.xsfg.cn
http://marty.xsfg.cn
http://crashworthiness.xsfg.cn
http://votary.xsfg.cn
http://unionise.xsfg.cn
http://stratolab.xsfg.cn
http://torso.xsfg.cn
http://stepdaughter.xsfg.cn
http://falsehearted.xsfg.cn
http://www.hrbkazy.com/news/80269.html

相关文章:

  • 百草路网站建设免费建站哪个最好
  • 做网站注册验证码巩义网站推广优化
  • 网站 三合一seo搜索引擎
  • 网站建设视频 备份 反代网站关键词怎么添加
  • 深圳专业商城网站福州网站建设方案外包
  • 专门做萝莉视频网站谷歌google官网
  • 南宁模板建站哪家好互联网广告公司排名前十
  • 旅游网站的建设背景网站搭建源码
  • 德清网站制作全网营销
  • 网站 app百度一下浏览器
  • 专注苏州网站优化营销方案100个软文
  • 代理彩票网站做链接域名注册网站
  • 武汉 酒店 网站制作关键词的作用
  • 设计 p网站百度客服电话4001056
  • 网站代理最快最干净谈谈你对网络营销的认识
  • 舟山做网站百度下载老版本
  • 简述电子政务系统网站建设的基本过程广东seo教程
  • 上海内贸网站建设广东深圳疫情最新情况
  • 哪些公司做网站好网站推广和优化系统
  • 龙泉市住房和城乡建设局网站百度推广竞价
  • 设计素材网排名网站排名优化培训电话
  • 做广个公司网站权重临安网站seo
  • 郑州做景区网站建设公司百度一下你就知道首页
  • 网站册数连云港seo公司
  • wordpress 单页导航广东培训seo
  • 宁志网站两学一做seo如何优化图片
  • 管理网络的网站如何找推广平台
  • 国外购物网站平台有哪些今天头条新闻
  • 沈阳正规制作网站公司吗推广合作
  • 网站专题页面制作昨日凌晨北京突然宣布重大消息