首页 > 其他分享 >『具体数学』第1章 递归问题

『具体数学』第1章 递归问题

时间:2023-09-11 22:23:18浏览次数:30  
标签:递归 证明 具体 归纳法 数学 2n array

  一切的开始。

典例选讲

hanoi塔

  问题不加赘述。
  想要解决问题,书中便借此问题引出一些解决问题的通法:

  1. 先研究小的情形
  2. 命名并求解

  经过这两步与一些基础的构造,不难把hanoi塔问题变为一组递推式:

\[\begin{array}{ll} &T_0 = 0;\\ &T_n \leq 2T_{n-1}+1, n>0. \end{array} \]

  接下来尝试得出这组递推式的解,即将递推式转换为等价的,且关于 \(T_n\) 的式子中不含 \(T\) 。我们将这种形式的式子称为封闭形式,这会使我们求解 \(T\) 所需的计算大大的减省。
  为了求解递推式,我们需要若干成体系的方法。数学归纳法便是众多方法中的一种,并且于这道题而言是一个非常不错的方法。
  数学归纳法并不是一个求解的方法,而是一个证明的方法。因此我们在使用数学归纳法之前需要有一个猜想,而 \(T\) 的值十分有规律,不难猜出 \(t_n = 2^n-1, n \geq 0\) 。
  在有了猜想之后,我们就可以开始使用数学归纳法进行证明。数学归纳法的步骤分为两步,首先是在 \(n\) 取最小值 \(n_0\) 时证明命题,这一步被称为基础(basis)。然后,对于所有 \(n>n_0\) ,假设 \(n^0\) 与 \(n-1\) 之间所有值已被证明,证明命题对 \(n\) 成立,这一步被称为归纳(induction)。这种方法可以让我们只使用两步就证明对于所有的 \(n\) 命题成立,不失为一种好的证明方法。
  hanoi塔的问题解决过程完美涵盖了解决一般问题的三个阶段:
  (1)研究小的情形。这有助于我们洞察问题,且对(2)(3)有所帮助。
  (2)对有意义的量求出数学表达式并给出证明数学表达式能完全涵盖原问题。一般而言我们能通过阶段获取有意义的递归式。
  (3)对数学表达式求出封闭形式并予以证明。
  (《具体数学》主要探讨的是第三阶段,而这也正是我想要提升的部分,毕竟于我而言OI的难点就在于此。)
  当然解决hanoi塔递归式的方式不止是循规蹈矩的数学归纳法,一些灵光一闪也能帮助我们解递归式,例如令 \(U_i = T_i+1\) ,套进原递归式将会化这样子:

\[\begin{array}{ll} &U_0 = 1;\\ &U_n \leq 2U_{n-1}, n>0. \end{array} \]

  这种形态的递归式想必不需特别的技巧即可得知 \(U_i = 2^i\) ,这样解递归式十分有效,因此在解题时请务必不要吝啬合理的想法。

平面上的 \(V\)

  用 \(n\) 条直线最多能将一个平面分割成几个块,这个问题较为简单,不多讲,设这个数量为 \(L_n\) ,则递归式为 \(L_0 = 1, L_n = L_{n-1}+n\) ,通过高斯 \(L_n = \frac{n(n+1)}2 + 1, n \geq 0\) 。
  接下来我们看一个相关问题:用 \(n\) 个 \(V\) 型最多能将一个平面分割成几个块。( \(V\) 型是指在平面上同一个点出发的两条射线组成的图形)
  乍一看这个问题没什么头绪,但我们可以通过适当的转化,来讲问题变换为我们熟悉的递归式。将射线变成直线,我们得到了下面这张图:
  
  这样就是 \(2n\) 条直线的答案,但是还要减去 \(2n\) ,因为 \(V\) 型相比于 \(2\) 条直线每个都少划分了 \(2\) 个区域,因此区域数 \(Z_n = L_{2n}-2n = 2n^2-n+1\) 。

约瑟夫问题

  一个经典的问题,而在本书中该问题的描述是:从围成标有记号 \(1\) 到 \(n\) 的圆圈的第 \(n\) 个人开始,每个一个人删去一个人,知道只有一个人存活。
  将有 \(n\) 个人圆圈的幸存者命名为 \(J(n)\) 。首先尝试模拟求出部分的值:

  然而 \(J(n)\) 看上去不如 \(T_n\) 一般有规律,能迅速找出递归式。这时我们可以分类讨论来帮助我们找出递归式:
  (1)对于 \(n\) 为偶数的情形,经过一轮后剩下的人号码都会翻倍并减一,即:

\[J(2n) = 2J(n)-1, n \geq 1 \]

  (2)对于 \(n\) 为奇数的情形,我们一并把编号 \(1\) 的人删掉,那么就相当于经过一轮后剩下的人号码都会翻倍并加一,即:

\[J(2n+1) = 2J(n)+1, n \geq 1 \]

  (3)组合上递归式的原始解 \(J(1) = 1\) ,总的递归式就长这样:

\[\begin{array}{ll} &J(1) = 1;\\ &J(2n) = 2J(n)-1, n\geq1;\\ &J(2n+1) = 2J(n)+1, n\geq1. \end{array} \]

  这个递归式并不如前两个一样好解,尝试从表格中找规律:

  通过查表不难发现递归式的解为 \(J(2^m+l) = 2l+1, m \geq 0, 0 \leq l < 2^m\) ,然后用上我们刚学过的数学归纳法即可证明。
  另外, \(J(n)\) 含有一个十分有趣的性质:先将 \(n\) 按二进制展开,即 \(n = (b_mb_{m-1}...b_1b_0)_2\) ,然后因为 \(J(n = 2m+l) = 2l+1\) 所以有 \(J((b_mb_{m-1}...b_1b_1)_2) = (b_{m-1}..b_1b_0b_n)\) ,即将 \(n\) 去掉了最高位的 \(1\) ,然后整体乘 \(2\) 再加上一个 \(1\) ,这样是等价于将 \(n\) 向左循环移动一位。不过因为要去掉前导零,所以除非 \(n = 2^x-1\) ,否则不能循环地转一圈。

(重点)成套方法求解递归式

  前面我们都是用的

方法总结

数学归纳法

  类型:证明
  步骤:
  (1)基础(basis):在 \(n\) 取最小值 \(n_0\) 时证明命题。
  (2)归纳(induction):对于所有 \(n>n_0\) ,假设 \(n^0\) 与 \(n-1\) 之间所有值已被证明,证明命题对 \(n\) 成立。

转化

  类型:思想
  核心:将问题部分或全部转化为形式相近但已知的内容

分类讨论

  类型:推导
  步骤:
  (1)提炼题目中每一个不同情形
  (2)对每个不同情形分别求解

暴力列表

  类型:求解
  步骤:略(恼,这我也没法写啊

习题选讲

标签:递归,证明,具体,归纳法,数学,2n,array
From: https://www.cnblogs.com/BlackCrow/p/17688688.html

相关文章

  • 数学禁忌公式
    欧拉公式(Euler'sformula):e^ix=cos(x)+i*sin(x)皮亚诺定理(Peano'stheorem):对于连续函数f(x),存在一个多项式序列逐点收敛到f(x)黎曼和(Riemannsum):近似计算定积分的方法泰勒公式(Taylor'sformula):将函数展开成幂级数的形式傅里叶级数(Fourierseries):将周期函数分......
  • 调用视频直播点播平台EasyDSS流媒体服务器上传点播文件接口的具体操作步骤
    EasyDSS互联网视频云平台可提供一站式的视频转码、点播、直播、推拉流、时移回放等服务,也能支持4K视频的直播、点播等功能。EasyDSS可用于视频点播,并支持OBS、推流相机、EasyRTMP等设备的推流直播,可应用在AR、VR、无人机推流、虚拟直播、教育培训、远程会议等场景中。 有用户向......
  • 数学建模-图论
    写在前面在学习数据结构的图论时,有一类问题是很容易在现实生活中找到对应情况的问题,即最小路径问题,而对于其他的问题算法,如最小生成树等,我常常会困惑于其会应用于何种实际情况的求解,后面脱离了算法学习之后,这个问题算是搁置了下来。在接触到数学建模之后,我逐渐理解到为什么要在数......
  • vue项目成功引入element组件的具体步骤
    1、首先要确保vue项目能够成功在浏览器访问2、一般使用的是vue3那么,需要注意的是,element组件在vue3里面,需要使用的是element-plus命令:npminstallelement-plus--save--legacy-peer-deps下载完成之后,需要在main.js里面对element组件进行引入:importElementPlusfrom'ele......
  • 数学二考试大纲
    1、高等数学(1)函数、极限、连续函数的概念及表示法、函数的有界性、单调性、周期性和奇偶性、复合函数、反函数、分段函数和隐函数、基本初等函数的性质及其图形、初等函数函数关系的建立.数列极限与函数极限的定义及其性质、函数的左极限与右极限、无穷小量和无穷大量的概念......
  • 鉴于vue2使用element组件不太方便,换成vue3的具体步骤
    1、卸载原有的vue2npmuninstallvue-cli-g卸载完成!2、按照最新的下载vue3命令下载vue3npminstall-g@vue-cli下载完成!(等了大概快10分钟)......
  • 【高等数学】第五章 常微分方程
    1常微分方程的基本概念引入概念:求解过程:[1]根据题目可以写出以下关系式:[2]对导数式两端同时积分:[3]根据曲线过点(1,2)得:概念定义:【1】将方程中含有未知函数、未知函数的导数(或微分)和自变量的方程式叫做微分方程。【2】常微分方程:未知方程是一元函数。偏微分方程:未知函数是多元......
  • 2023年全国大学生数学建模竞赛赛题思路分析
    今年的数模难度和去年差不多,只是赛题的类型有所调整,粗略扫了一眼每个赛题,简单讲一下C题的思路吧。C题问题1:这道题其实考察的是最基础的数学知识,这道题可以拆解成两个小问。1.1求解蔬菜各品类及单品销售量的分布规律1)采用Excel等绘制品类销售量的直方图,利用Minitab等分析分布规律。......
  • 离散数学笔记——集合
    离散数学笔记——集合集合的概念集合是由一些确定的元素所组成的整体,其中的元素可以是任何事物定义:A={a1,a2,a3,...,an}表示集合的名称,{}表示集合的符号。a1,a2,a3,...an表示集合中的元素x∈A表示元素x属于集合A集合的特点集合没有重复元素集合......
  • 【高等数学】第四章 曲线积分与曲面积分
    1对弧长的曲线积分(第一类曲线积分)1.1对弧长的曲线积分的概念与性质定义实际意义可以理解为:性质:ds是有小弧段的长度Δs_i转化而来,是曲线弧L的弧微分。【1】【2】如果k为常数【3】若积分弧段L被分为L_1和L_2两段;即L=L_1+L_2,则有:【4】变换积分弧段L的起点和终点,对弧长的曲线积分的值......