SEO基础

SEO基础

Products

当前位置:首页 > SEO基础 >

重庆网站建设哪家好?宁波有哪些优秀的网站开发公司?

96SEO 2026-02-20 05:33 5


重庆网站建设哪家好?宁波有哪些优秀的网站开发公司?

这个策略的核心思想就是将问题分解为一系列的小问题#xff0c;并将每个小问题的解保存起来。

这样#xff0c;当我们需要解决原始问题的时候#xff0c;我们就可以直接利…动态规划

动态规划就像是解决问题的一种策略它可以帮助我们更高效地找到问题的解决方案。

这个策略的核心思想就是将问题分解为一系列的小问题并将每个小问题的解保存起来。

这样当我们需要解决原始问题的时候我们就可以直接利用已经计算好的小问题的解而不需要重复计算。

数学归纳法

case首先证明命题在最小的基础情况下成立。

通常这是一个较简单的情况可以直接验证命题是否成立。

归纳步骤inductive

step假设命题在某个情况下成立然后证明在下一个情况下也成立。

这个证明可以通过推理推断出结论或使用一些已知的规律来得到。

通过反复迭代归纳步骤我们可以推导出命题在所有情况下成立的结论。

动态规划

在动态规划中首先得到状态在最小的基础情况下的值然后通过状态转移方程得到下一个状态的值反复迭代最终得到我们期望的状态下的值。

接下来我们通过三道例题深入理解动态规划思想以及实现动态规划的具体步骤。

1218.

我们可以很容易得到这样一个状态表示定义dp[i]表示以i位置为结尾的最长的等差子序列的长度。

状态转移方程

我们针对于以i位置元素为结尾的等差子序列以及i位置元素进行分析想一想dp[i]能不能由其他状态推导得出。

如果只考虑i位置一个元素

那么i位置元素可能跟在前面0~i-1中任意满足arr[i]-arr[j]difference的元素后面0ji-1)对于确定的一个j值此时dp[i]dp[j]1意味着j位置元素和i位置元素构成等差子序列。

由于(0ji-1)

所以dp[i]maxdp[i],dp[j]1需要在0~i-1这些状态中找到最大的值存储在dp[i]中。

将上述情况进行合并和简化

因为dp[i]的取值需要在自己和前面的值中选取最大的一个并且是赋值所以在最开始的赋值中自己必须有初始值。

在自己初始化的前提下dp[i]一定会被赋值为一个大于1的值所以就不会取到第一种情况。

综上所述我们需要初始化所有位置状态为1保证dp[i]最开始有初始值同时状态初始化为1是最长等差子序列的最低标准把只有自己一个元素的情况考虑进去了。

状态转移方程为

根据状态转移方程我们知道想要推导出i位置的状态需要用到0~i-1位置的状态所以我们需要初始化第一个位置的状态即dp[0]1。

根据在状态转移方程的分析我们需要将所有位置状态初始化为1结合起来得到初始化

初始化为

根据状态转移方程我们知道想要推导出i位置状态需要运用到0~i-1位置的状态所以我们需要从左往右填写保证在推导i位置的状态时0~i-1位置的状态都已经得到。

返回值

结合题目意思我们需要得到所有等差子序列中长度最长的长度值所以我们需要遍历dp表找到长度最长的长度值然后返回。

代码实现

我们进行优化最外层的循环是一定优化不了的因为我们必须遍历dp表一遍去填写每一个值所以我们希望优化内循环看看能不能降低时间复杂度。

我们内循环的作用是对于i位置的元素遍历所有可能构成的等差序列找到最大长度然后赋值给dp[i]。

arr[j]

如果hash表下标记录元素值hash值记录最长的等差序列的长度这样就可以实现优化。

既然hash值存储的是长度即dp那么我们就做到将(元素dp进行绑定。

就不需要dp数组了。

class

我们可以很容易得到这样一个状态表示定义dp[i]表示以i位置为结尾的最长的斐波那契子序列的长度。

我们针对于以i位置元素为结尾的斐波那契子序列以及i位置元素进行分析想一想dp[i]能不能由其他状态推导得出。

如果只考虑i位置一个元素

因为斐波那契子序列最少要含有三个元素所以实际上dp[i]应该为0如果dp[i]为零没办法区分i位置元素最多和前面0个元素构成斐波那契子序列还是和前面1个元素构成斐波那契子序列因此我们这里dp[i]存储1表示只能和前面0个元素构成斐波那契子序列而只需要判断dp[i]的值是不是小于3就知道这个值的含义。

如果不止考虑i位置一个元素

i位置元素可能跟在前面的任意位置元素后面0~i-1定义0ji-1)针对j位置元素如果i位置元素和j位置元素构成斐波那契子序列那么arr[i]arr[j]前一个元素但我们不知道以j位置元素结尾的最长子序列前一个元素是不是我们希望的那个元素所以这个状态表示不足以推导出状态转移方程。

我们可以修正一个状态转移方程定义dp[i][j]表示以i位置和j位置为结尾的所有子序列中最长的斐波那契子序列长度。

固定了最后两个位置的斐波那契子序列就可以推导出前一个位置的元素即arr[j]-arr[i]。

以arr[j]-arr[i]这个元素对应下标位置和i位置结尾的所有子序列中最长的斐波那契子序列长度是dp[x][i]就可以推导出状态转移方程。

因此状态表示为定义dp[i][j]表示以i位置和j位置为结尾的所有子序列中最长的斐波那契子序列长度。

状态转移方程

dp[i][j]表示以i位置和j位置为结尾的所有子序列中最长的斐波那契子序列长度。

我们针对于以i、j位置元素为结尾的斐波那契子序列进行分析想一想dp[i][j]能不能由其他状态推导得出。

假设arr[i]b,arr[j]c,那么这个序列前一个元素就是ac-b。

我们根据a的情况进行讨论

a存在

假设a的下标为k此时以i、j位置为结尾的最长斐波那契子序列长度为以ki位置为结尾的最长斐波那契子序列长度1。

即dp[i][j]dp[k][i]1。

假设a的下标为k此时k介于i和j之间所以这种情况不成立此时dp[i][j]2。

a不存在

如果a存在且abdp[i][j]dp[k][i]1其他情况dp[i][j]2所以我们可以把其他情况放到初始化步骤进行解决全部状态初始化为2即可。

这样就只需要考虑一种情况。

我们发现在状态转移方程中我们需要确定

这样我们就可以快速通过a元素值找到对应的下标并且可以快速知道arr数组中是否存在a元素。

状态转移方程为

根据状态转移方程我们知道在推导ij位置的状态时可能要用到0~i-1i位置的状态所以我们初始化最基础的最小的解推导第二个状态1,2位置的状态时需要初始化0~1-1i即dp[0][1]2。

vectorvectorint

根据状态转移方程我们知道在推导ij位置的状态时可能要用到0~i-1i位置的状态所以在填写ij位置的状态时ki位置的状态必须已经填写好(0ki-1)。

如果固定j填写i我们需要用到的是(k,i)i对应的状态应该已经全部填写所以j应该从小到大变化。

此时i的变化可以从小到大也可以从大到小。

如果固定i填写j我们需要用到的是(k,i)k对应的状态应该已经全部填写所以i应该从小到大变化。

此时j的变化可以从小到大也可以从大到小。

返回值

dp[i][j]表示以i位置和j位置为结尾的所有子序列中最长的斐波那契子序列长度。

结合题目意思我们需要返回最长斐波那契子序列长度但我们不知道最长的斐波那契子序列以哪两个位置结尾所以我们需要遍历dp表找到最大值然后返回。

代码实现

我们可以很容易得到这样一个状态表示定义dp[i]表示以i位置为结尾的最长的等差子序列的长度。

我们针对以i位置为结尾的等差子序列进行分析想一想dp[i]能不能由其他状态推导得出。

如果只考虑i位置一个元素

i位置元素可以跟在前面任意一个元素后面定义0ji-1)但是我们不知道dp[j]代表的最长等差子序列长度所对应的等差子序列公差是多少没办法确定是否可以使得ji位置构成的等差子序列和以j位置结尾的最长等差子序列长度对应的等差子序列公差相等。

所以这个状态表示不足以推导出状态转移方程。

我们可以修正状态表示定义dp[i][j]表示以ij为结尾的等差子序列最长的长度值。

因为我们只需要根据arr[i]、arr[j]两个元素就知道以ij位置结尾的等差子序列长什么样子就可以推导出该等差子序列前一个元素值,因为arr[i]-xarr[j]-arr[i]所以x2*arr[i]-arr[j]。

定义dp[i][j]表示以ij为结尾的等差子序列最长的长度值。

状态转移方程

此时我们需要以ki位置结尾的最长等差子序列再加上j位置元素就是以ij为结尾的最长等差子序列长度即dp[i][j]dp[k][i]1。

ki,

此时不满足等差子序列的定义所以不考虑这种序列即dp[i][j]2。

a不存在

将上述情况进行合并和简化如果a存在且kidp[i][j]dp[k][i]1。

其他情况dp[i][j]2所以我们可以将dp表初始化为2只用考虑a存在且ki的情况。

我们发现在状态转移方程中我们需要确定

这样我们就可以快速通过a元素值找到对应的下标并且可以快速知道arr数组中是否存在a元素。

故状态转移方程为

(hash.count(a)hash[a]i)dp[i][j]

dp[hash[a]][i]

根据状态转移方程我们知道推导ij位置状态时可能用到ki位置状态而0ki-1)所以我们初始化最基础的最小的解推导第二个状态1,2位置的状态时需要初始化0~1-1i即dp[0][1]2。

vectorvectorint

根据状态转移方程我们知道推导ij位置状态时可能用到ki位置状态0ki-1)所以此时ki位置的状态应该已经得到。

如果固定j填写i我们需要用到的是(k,i)i对应的状态应该已经全部填写所以j应该从小到大变化。

此时i的变化可以从小到大也可以从大到小。

如果固定i填写j我们需要用到的是(k,i)k对应的状态应该已经全部填写所以i应该从小到大变化。

此时j的变化可以从小到大也可以从大到小。

返回值

结合题目意思我们需要返回等差子序列最长的长度值但是我们不知道最长的等差子序列是以哪两个位置结尾所以我们需要遍历dp表找到最大值进行返回。

代码实现

longestArithSeqLength(vectorint

nums)

今天我们学习了动态规划的思想动态规划思想和数学归纳法思想有一些类似动态规划在模拟数学归纳法的过程已知一个最简单的基础解通过得到前项与后项的推导关系由这个最简单的基础解我们可以一步一步推导出我们希望得到的那个解把我们得到的解依次存放在dp数组中dp数组中对应的状态就像是数列里面的每一项。

最后感谢您阅读我的文章对于动态规划系列我会一直更新如果您觉得内容有帮助可以点赞加关注以快速阅读最新文章。

最后感谢您阅读我的文章希望这些内容能够对您有所启发和帮助。

如果您有任何问题或想要分享您的观点请随时在评论区留言。

同时不要忘记订阅我的博客以获取更多有趣的内容。

在未来的文章中我将继续探讨这个话题的不同方面为您呈现更多深度和见解。



SEO优化服务概述

作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。

百度官方合作伙伴 白帽SEO技术 数据驱动优化 效果长期稳定

SEO优化核心服务

网站技术SEO

  • 网站结构优化 - 提升网站爬虫可访问性
  • 页面速度优化 - 缩短加载时间,提高用户体验
  • 移动端适配 - 确保移动设备友好性
  • HTTPS安全协议 - 提升网站安全性与信任度
  • 结构化数据标记 - 增强搜索结果显示效果

内容优化服务

  • 关键词研究与布局 - 精准定位目标关键词
  • 高质量内容创作 - 原创、专业、有价值的内容
  • Meta标签优化 - 提升点击率和相关性
  • 内容更新策略 - 保持网站内容新鲜度
  • 多媒体内容优化 - 图片、视频SEO优化

外链建设策略

  • 高质量外链获取 - 权威网站链接建设
  • 品牌提及监控 - 追踪品牌在线曝光
  • 行业目录提交 - 提升网站基础权威
  • 社交媒体整合 - 增强内容传播力
  • 链接质量分析 - 避免低质量链接风险

SEO服务方案对比

服务项目 基础套餐 标准套餐 高级定制
关键词优化数量 10-20个核心词 30-50个核心词+长尾词 80-150个全方位覆盖
内容优化 基础页面优化 全站内容优化+每月5篇原创 个性化内容策略+每月15篇原创
技术SEO 基本技术检查 全面技术优化+移动适配 深度技术重构+性能优化
外链建设 每月5-10条 每月20-30条高质量外链 每月50+条多渠道外链
数据报告 月度基础报告 双周详细报告+分析 每周深度报告+策略调整
效果保障 3-6个月见效 2-4个月见效 1-3个月快速见效

SEO优化实施流程

我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:

1

网站诊断分析

全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。

2

关键词策略制定

基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。

3

技术优化实施

解决网站技术问题,优化网站结构,提升页面速度和移动端体验。

4

内容优化建设

创作高质量原创内容,优化现有页面,建立内容更新机制。

5

外链建设推广

获取高质量外部链接,建立品牌在线影响力,提升网站权威度。

6

数据监控调整

持续监控排名、流量和转化数据,根据效果调整优化策略。

SEO优化常见问题

SEO优化一般需要多长时间才能看到效果?
SEO是一个渐进的过程,通常需要3-6个月才能看到明显效果。具体时间取决于网站现状、竞争程度和优化强度。我们的标准套餐一般在2-4个月内开始显现效果,高级定制方案可能在1-3个月内就能看到初步成果。
你们使用白帽SEO技术还是黑帽技术?
我们始终坚持使用白帽SEO技术,遵循搜索引擎的官方指南。我们的优化策略注重长期效果和可持续性,绝不使用任何可能导致网站被惩罚的违规手段。作为百度官方合作伙伴,我们承诺提供安全、合规的SEO服务。
SEO优化后效果能持续多久?
通过我们的白帽SEO策略获得的排名和流量具有长期稳定性。一旦网站达到理想排名,只需适当的维护和更新,效果可以持续数年。我们提供优化后维护服务,确保您的网站长期保持竞争优势。
你们提供SEO优化效果保障吗?
我们提供基于数据的SEO效果承诺。根据服务套餐不同,我们承诺在约定时间内将核心关键词优化到指定排名位置,或实现约定的自然流量增长目标。所有承诺都会在服务合同中明确约定,并提供详细的KPI衡量标准。

SEO优化效果数据

基于我们服务的客户数据统计,平均优化效果如下:

+85%
自然搜索流量提升
+120%
关键词排名数量
+60%
网站转化率提升
3-6月
平均见效周期

行业案例 - 制造业

  • 优化前:日均自然流量120,核心词无排名
  • 优化6个月后:日均自然流量950,15个核心词首页排名
  • 效果提升:流量增长692%,询盘量增加320%

行业案例 - 电商

  • 优化前:月均自然订单50单,转化率1.2%
  • 优化4个月后:月均自然订单210单,转化率2.8%
  • 效果提升:订单增长320%,转化率提升133%

行业案例 - 教育

  • 优化前:月均咨询量35个,主要依赖付费广告
  • 优化5个月后:月均咨询量180个,自然流量占比65%
  • 效果提升:咨询量增长414%,营销成本降低57%

为什么选择我们的SEO服务

专业团队

  • 10年以上SEO经验专家带队
  • 百度、Google认证工程师
  • 内容创作、技术开发、数据分析多领域团队
  • 持续培训保持技术领先

数据驱动

  • 自主研发SEO分析工具
  • 实时排名监控系统
  • 竞争对手深度分析
  • 效果可视化报告

透明合作

  • 清晰的服务内容和价格
  • 定期进展汇报和沟通
  • 效果数据实时可查
  • 灵活的合同条款

我们的SEO服务理念

我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。

提交需求或反馈

Demand feedback