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

做外汇上什么网站看新闻网络营销课程速成班

做外汇上什么网站看新闻,网络营销课程速成班,界面设计怎么写,如何做ps4的游戏视频网站博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 💯前言💯题目描述第一部分:基本青蛙过河问题第二部分:石柱和荷叶问题 💯解题思路与分析第一部分:青蛙过河问题解法思路:递…

在这里插入图片描述

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳]
本文专栏: C++

文章目录

  • 💯前言
  • 💯题目描述
    • 第一部分:基本青蛙过河问题
    • 第二部分:石柱和荷叶问题
  • 💯解题思路与分析
    • 第一部分:青蛙过河问题
      • 解法思路:递归拆解
    • 第二部分:最多能跳多少只青蛙
      • 思路与公式推导
  • 💯代码实现
    • 递归函数实现
    • 示例输出
  • 💯递归的理解与优化
    • 优化思路
  • 💯小结


在这里插入图片描述


💯前言

  • 青蛙跳跃问题是一道经典的递归与路径优化题目,考察了递归思维问题分解能力以及逻辑推理能力。在本篇文章中,我们将详细分析题目的背景、题目规则、解决方案、代码实现以及优化思路。
    通过逐步拆解问题和总结规律,帮助读者深入理解递归的本质以及其在路径问题中的应用。本文不仅关注基本解法,还会深入探讨题目的扩展性和优化空间,力求帮助读者掌握这种递归思维在实际问题中的应用。
    C++ 参考手册
    在这里插入图片描述

💯题目描述

本题分为两个部分,分别如下:


第一部分:基本青蛙过河问题

题目背景

(2000年全国青少年信息学奥林匹克试题)

一条小溪尺寸不大,青蛙可以从左岸跳到右岸。在左岸有一石柱 L,面积只容得下一只青蛙落脚;同样,右岸也有一石柱 R,面积也只容得下一只青蛙落脚。有一队青蛙从尺寸上一个比一个小。我们将青蛙从小到大,用 1, 2, …, n 编号。

要求

  1. 初始时青蛙只能跳到左岸的石柱 L 上,按编号一个落一个,小的青蛙落在大的青蛙上面。不允许大的在小的上面
  2. 将所有青蛙从 L 移动到 R,保持大小顺序不变。

分析重点
这个问题与经典的汉诺塔问题极其相似,可以通过递归来解决。我们需要借助中间的石柱或荷叶,逐步将青蛙从左岸移动到右岸。


第二部分:石柱和荷叶问题

新增规则

  1. 青蛙从左岸 L 跳出后,不允许再跳回左岸。
  2. 青蛙跳到右岸 R 或中途的荷叶/石柱后,也不能再离开。

已知条件

  • 溪中有 ( s ) 根石柱和 ( y ) 片荷叶。

目标:求 最多能跳过多少只青蛙


💯解题思路与分析


第一部分:青蛙过河问题

这个问题的解决思路与 汉诺塔问题 极其相似。汉诺塔问题是一种经典的递归问题,通过将盘子逐个移动来达到最终目标。在青蛙过河问题中,我们将递归思想进行迁移,借助中间位置完成青蛙的转移。

解法思路:递归拆解

  1. 基本思路:将青蛙分为两部分。

    • 先将 ( n-1 ) 只青蛙从 L 移动到辅助位置(荷叶/石柱)。
    • 然后将第 ( n ) 只青蛙直接从 L 移动到 R
    • 最后将 ( n-1 ) 只青蛙从辅助位置移动到 R
  2. 递归关系可以总结为:
    T ( n ) = 2 ⋅ T ( n − 1 ) + 1 T(n) = 2 \cdot T(n-1) + 1 T(n)=2T(n1)+1
    其中 ( T(n) ) 是将 ( n ) 只青蛙移动到右岸所需的最少步数。

  3. 递归终止条件:当只剩下一只青蛙时,直接将其移动到目标位置。这一步与汉诺塔的最小子问题完全一致,青蛙跳到终点即可。

  4. 路径可视化
    递归的核心在于分解问题。可以通过树形结构将每一步的移动过程展示出来,使得解法更加清晰直观。


第二部分:最多能跳多少只青蛙


思路与公式推导

新增了 石柱荷叶 后,溪中的路径可以看作是多次跳跃的落脚点。题目要求青蛙跳到这些落脚点后不能再移动,问题变为:

  • 每次增加一个石柱时,路径数量会 翻倍
  • 荷叶提供了额外的停留点。

关键分析

  1. 当 ( s = 0 )(无石柱)时,最多能跳过的青蛙数量为:
    k = y + 1 k = y + 1 k=y+1
    其中 ( y ) 是荷叶数量,右岸 ( R ) 也算一个位置。
  2. 当 ( s > 0 )(有石柱)时,每增加一根石柱,路径会 翻倍,满足以下递归关系:
    k = 2 ⋅ e x t J u m p ( s − 1 , y ) k = 2 \cdot ext{Jump}(s-1, y) k=2extJump(s1,y)
  3. 最终递归公式可以总结为:
    k = 2 s ⋅ ( y + 1 ) k = 2^s \cdot (y + 1) k=2s(y+1)
    其中:
    • ( s ) 是石柱数。
    • ( y ) 是荷叶数。
    • ( 2^s ) 表示路径翻倍的次数。

💯代码实现


递归函数实现

#include <iostream>
using namespace std;// 递归函数:计算最多能跳过多少只青蛙
int Jump(int s, int y) {int k = 0; // 结果变量if (s == 0) // 递归终止条件k = y + 1; // 没有石柱,直接加上荷叶数和右岸elsek = 2 * Jump(s - 1, y); // 每增加一根石柱,路径翻倍return k; // 返回结果
}int main() {int s, y; // 定义变量cout << "请输入溪中的石柱数 s 和荷叶数 y:" << endl;cin >> s >> y; // 输入石柱数和荷叶数int result = Jump(s, y); // 调用函数cout << "最多能跳过的青蛙数为:" << result << endl; // 输出结果return 0;
}

在这里插入图片描述


示例输出

假设输入:

请输入溪中的石柱数 s 和荷叶数 y:
3 2

程序输出:

最多能跳过的青蛙数为:24

验证
根据公式 ( k = 2^s \cdot (y + 1) ):

  • ( s = 3 ),( y = 2 ):
    k = 2 3 ⋅ ( 2 + 1 ) = 8 ⋅ 3 = 24 k = 2^3 \cdot (2 + 1) = 8 \cdot 3 = 24 k=23(2+1)=83=24

💯递归的理解与优化

递归是一种通过将大问题分解为小问题逐步解决的方法。在本题中:

  • 终止条件:当 ( s = 0 ) 时,直接求解。
  • 递归关系:路径翻倍,通过 ( k = 2 \cdot Jump(s-1, y) ) 实现。

优化思路

如果问题规模较大(例如 ( s ) 很大),递归会占用较多栈空间。可以使用 迭代法 替代递归,将结果逐步累积:

int JumpIterative(int s, int y) {int k = y + 1; // 初始值,当 s = 0 时for (int i = 0; i < s; ++i) {k *= 2; // 每增加一根石柱,路径翻倍}return k;
}

💯小结

  • 在这里插入图片描述
    通过本题,我们深入理解了递归的本质和路径问题的解法:
  1. 青蛙过河问题汉诺塔问题 类似,通过递归分解问题逐步求解。
  2. 石柱和荷叶问题 中,路径数量随着石柱数 ( s ) 指数级增长,满足公式:
    k = 2 s ⋅ ( y + 1 ) k = 2^s \cdot (y + 1) k=2s(y+1)
  3. 提供了递归和迭代两种解法,递归结构清晰,迭代更高效。
  4. 通过图示和示例输出,直观展示了问题的解决过程。

掌握这类问题的解法,有助于培养递归思维和问题分解能力,为解决更复杂的算法问题打下坚实的基础。这类问题也为动态规划和搜索算法提供了重要的学习基础。


在这里插入图片描述


在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

http://www.hengruixuexiao.com/news/5786.html

相关文章:

  • 万户网站建设yy直播
  • 如何做餐饮的网站seo管理系统培训运营
  • 日本做的视频网站有哪些问题吗网站seo标题优化技巧
  • 顺德网站制作案例市场我是seo关键词
  • 网站收款即时到账怎么做的今日足球赛事分析推荐
  • 西安网站建设昆奇北京朝阳区
  • 带数字 网站 域名爱站小工具计算器
  • 广东网站建设哪家seo解释
  • 怎么代理传奇手游宁波seo网络推广定制多少钱
  • 郴州网站制作公司地址百度热议怎么上首页
  • 公司网站建设什么价格低上海seo推广整站
  • 网站建设hph下载广告传媒公司主要做什么
  • 来广营网站建设百度推广seo
  • 中国建设银行官网登陆seo是什么意思中文
  • 叶梓 wordpress 主题什么是seo教程
  • 企业网站建设文案案例使用 ahrefs 进行 seo 分析
  • 织梦网站如何备份教程山东网页定制
  • 网站建设公司发展历程百度搜索风云榜手机版
  • 网站上的广告位图片怎么做呢全国分站seo
  • wordpress 评论插件下载南京seo代理
  • 做专业网站怎么打广告宣传自己的产品
  • jsp做网站能实现什么功能今日疫情最新情况
  • javaee做的是网站吗百度推广登录首页
  • 手机网站怎么做的好处关键词挖掘爱站网
  • 风中有朵雨做的云电影网站百度信息流投放方式有哪些
  • 餐饮网站程序市场调研
  • 制定网站建设方案友情链接检测方法
  • ppt设计主题aso优化服务站
  • 一元购网站建设多少钱中国免费网站服务器下载
  • wen前端网站开发日记seo优化网站的注意事项