ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

[数学基础] 8 常见数

2022-05-16 21:00:33  阅读:181  来源: 互联网

标签:凸多边形 frac 常见 基础 sqrt times 数学 2n 递推


常见数

ps:俺觉得学常见数,更多的可以说是借着常见数来学习如何推公式,以及其中dp状态转移的化简,对子问题的划分xd

1.卡特兰数(Catalan Number)

ps:这篇博客说的应用非常好,但是太多了,贴个链接

https://zhuanlan.zhihu.com/p/31317307

(1) 定义:

设卡特兰数的第\(n\)项为\(h(n)\),\(h(0)=1,h(1)=1\)。catalan数满足递推式:

\(h(n)=h(0)\times h(n)+h(1)\times h(n-1)\times ...\times h(n-1)\times h(0)\),\(n\geq 2\)

此时递推关系的解为\(h(n)=\frac{C_{2n}^n}{n+1}\)

另类递推式:\(h(n)=h(n-1)\times \frac{4n-2}{n+1}\),或者说\(h(n+1)=h(n)\times \frac{4n+2}{n+2}\)

递推关系的另类解为\(h(n)=C_{2n}^n-C_{2n}^{n-1}\)。

事实上,它们都是等价的。(这些递推式还是挺容易证明的就不写了,敲公式好累)

以防一时看不出来,记一下前几项(误)(从第0项开始)

1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845, 35357670, 129644790, 477638700, 1767263190, 6564120420, 24466267020, 91482563640, 343059613650, 1289904147324, 4861946401452

(2) 应用
  • 出栈次序

题目见AcWing415,相当于问一个栈(无穷大)的进栈序列为1,2,3,…,n,有多少个不同的出栈序列。

对于每一个\(h(k)\),我们都可以把它的每个进出栈的过程看成独立的,然后枚举分割的方案,那么\(h(k)=h(0)\times h(k-1)+...+h(n-1)\times h(0)\)。(我知道我讲的不好,但是意会一下QAQ)

或者这么想,对于每个数来说,必须进栈一次,出栈一次。把进栈设置为状态0,出栈设为1。那么,\(n\)个数的所有状态对应\(n\)个1和\(n\)个0组成的长度为\(2n\)的序列。显然,无论何时,进栈的数量都不小于出栈的数量,这个问题就转换成了AcWing889(我在刷题有详细写解法)

类似的还有买票找零问题,有2n个人排成一行进入剧场。入场费5元。其中只有n个人有一张5元钞票,另外n人只有10元钞票,剧院无其它钞票,问有多少种方法使得只要有10元的人买票,售票处就有5元的钞票找零(将持5元者到达视作将5元入栈,持10元者到达视作使栈中某5元出栈)。

  • 凸多边形三角划分

在一个凸多边形中,通过若干条互不相交的对角线,把这个多边形划分成了若干个三角形。给定凸多边形的边数\(n\),求不同划分的方案数\(f(n)\)​。嗯……lcy讲过这个来着,but我还是贴一下百度百科的证明吧(捂脸)

因为凸多边形的任意一条边必定属于某一个三角形,所以我们以某一条边为基准,以这条边的两个顶点为起点\(P_1\)和终点\(P_n\),将该凸多边形的顶点依序标记为\(P_1,P_2,...,P_n\),再在该凸多边形中找任意一个不属于这两个点的顶点\(P_k,2\leq k \leq n-1\),来构成一个三角形,用这个三角形把一个凸多边形划分成两个凸多边形,其中一个凸多边形,是由\(P_1,P_2,...,P_k\)构成的凸\(k\)边形(顶点数即是边数),另一个凸多边形,是由\(P_k,P_{k+1},...,P_n\)构成的凸\(n-k+1\)边形。

此时,我们若把\(P_k\)视为确定一点,那么根据乘法原理,\(f(n)\)的问题就等价于——凸\(k\)多边形的划分方案数乘以凸\(n-k+1\)多边形的划分方案数,即选择Pk这个顶点的\(f(n)=f(k)×f(n-k+1)\)。而\(k\in[2,n-1]\),所以再根据加法原理,将k取不同值的划分方案相加,得到的总方案数为:\(f(n)=f(2)f(n-2+1)+f(3)f(n-3+1)+…+f(n-1)f(2)\)。也就是说,\(f(n)=h(n-2)\)。

  • 给定节点组成满二叉树

有\(n+1\)个叶子节点的满位置二叉树(即每个节点有0或2个子节点,且左子节点和右子节点是不同的)的计数问题,相当于有\(n\)个内节点的满位置二叉树的计数问题。

这道题,我还是和凸多边形划分相同的思路,可以发现,这些应用都有一个共同的特点,就是可以通过一次分割,划分为两个完全一致只是规模变小的子问题,并且,这两个子问题完全独立,那么所得方案数就可以通过乘法原理相乘,再枚举分割方法,根据加法原理把它们相加。

博客提供了一个很特别的思路。

  • 长方形填充阶梯形状

  • n对括号正确匹配数目, Young表问题, 不相交的弦, 笔画群峰, 不出现312模式的全排列

这些都是很经典的问题,但是太多了写不下(不想写),可以自己看我上面的链接哦,我觉得值得一看!特别是全排列和young表

2. 斐波那契数

(1) 定义:

递推式:\(F_0=0,F_1=1\),\(F_n=F_{n-1}+F_{n-2}\),\(n\geq3,n\in \N\)。

通项公式:\(F_n=\frac{1}{\sqrt 5}[(\frac{1+\sqrt 5}{2})^n+(\frac{1-\sqrt 5}{2})^n]\)

(通项公式就是用待定系数法搞成等比数列然后组合证明出来的,可以看https://www.cnblogs.com/1024th/p/10902775.html这个博客,这里简单说一下另一种方式)

显然可以构造等比数列\(C_n=F_n-aF_{n-1}\),那么\(F_n-aF_{n-1}=b(F_{n-1}-aF_{n-2})\),代入递推式就可以解出来\(a,b\)的值,得到\(C_n=b^{n-1}\),则\(F_n=b^{n-1}+aF_{n-1}\),这样就把二阶递推式化成了一阶递推式,然后再做一次待定系数法,\(F_n+kb^n=-a(F_{n-1}+kb^{n-1})\),然后不停化简,得到\(k\)的式子,再把\(a,b\)两组解的任何一组代进去(两组解结果一样的),就得到了\(F_n=\frac{1}{\sqrt 5}[(\frac{1+\sqrt 5}{2})^n+(\frac{1-\sqrt 5}{2})^n]\)。这个通项公式有叫“比内公式”,是无理数表示有理数的一个范例。

(2) 相关恒等式:

(证易,敲累,简写,博客有多处笔误,按俺的公式来)

  • \(\sum\limits _{i=1}^n F_i=F_{n+2}-F_2=F_{n+2}-1\)

证明:\(F_1+F_2+F_3+...=F_3-F_2+F_4-F_3+...=F_{n+2}-F_2\)

  • \(F^2_1+F^2_2+⋯+F^2_n=F_nF_{n+1}\)

证明:\(F_nF_{n+1}=F_n(F_{n-1}+F_n)=F_n^2+F_{n-1}(F_{n-2}+F_{n-1})=...=\sum\limits _{i=1}^n F_i^2\)

  • \(F_1+F_3+F_5+...F_{2n-1}=F_{2n}\)

证明:\(F_{2n}=F_{2n-1}+F_{2n-2}=F_{2n-1}+F_{2n-3}+F_{2n-4}+...=F_1+F_3+...+F_{2n-1}\)

  • \(F_2+F_4+F_6+...+F_{2n}=F_{2n+1}-F_1=F_{2n+1}-1\)

证明:和上一个恒等式一模一样属于是

  • \(F_n=F_mF_{n-m+1}+F_{m-1}F_{n-m}\)

证明:数学归纳法

当\(m=2\)时,\(F_n=F_2F_{n−2+1}+F_{2−1}F_{n−2}=F_{n−1}+F_{n−2}\)成立。

设当\(m=k(2≤k≤n−2)\)时,\(F_n=F_kF_{n−k+1}+F_{k−1}F_{n−k}\)成立。
$ \begin{align} & F_n=F_kF_{n−k+1}+(F_{k+1}−F_k)F_{n−k}\ &=F_{k+1}F_{n-k}+F_k(F_{n-k+1}-F_{n-k})\ & =F_{k+1}F_{n-k}+F_kF_{n-k-1} \end{align}$

即\(m=k+1\)时等式依旧成立,得证。

  • \(F_{n-1}F_{n+1}=F_n^2+(-1)^n\)

数学归纳法,假设\(F_{n-1-1}F_{n-1+1}=F_{n-1}^2+(-1)^{n-1}\)成立

\((F_{n}-F_{n-2})(F_n+F_{n-1})=F_n^2+(-1)^n\)

\(\Leftrightarrow F_n^2+F_nF_{n-1}-F_{n-2}F_n-F_{n-2}F_{n-1}=F_n^2+(-1)^n\)

\(\Leftrightarrow F_{n-1}(F_n-F_{n-2})-F_{n-2}F_{n}=(-1)^n\)

\(\Leftrightarrow -F_{n-2}F_n=-F_{n-1}^2+(-1)^n\)

\(\Leftrightarrow F_{n-1-1}F_{n-1+1}=F_{n-1}^2+(-1)^{n-1}\),得证

(3) 性质:
  • 相邻项互质

证明:\((F_n,F_{n-1})=(F_{n-1},F_n-F_{n-1})\),不断递归,\((F_2,F_1)=1\)。

  • \(gcd(F_n,F_m)=F_{gcd(n,m)}\)

证明:\((F_n,F_m)=(F_mF_{n-m+1}+F_{m-1}F_{n-m}, F_m), n>m\)

又\((a,b)=(a-kb,b)\),所以\((F_n,F_m)=(F_{m-1}F_{n-m},F_m)\)

因为相邻项互质,所以\(F_{m-1},F_m\)没有公因子,因此\((F_n,F_m)=(F_{n-m},F_m)\)

不断递归下去,可得\((F_n,F_m)=(F_{n\mod m},F_m)\)

交换\(m,n \mod m\)的位置,一直做下去,我超 是你,欧几里得!得证。

  • \(n|m,F_n|F_m\)

相当于性质2的特例。

(4) 计算方法

参见yxc的求解斐波那契数列的若干方法

在此之外,补充另一种利用性质计算的方法:快速倍增法
emmmmmm namo 我的快速倍增法去哪里了内?
也许我有空就会补上吧!(摆大烂)

(5) 应用

有些奇奇怪怪的组合数,化到最后是斐波那契和其他式子的组合,可以说是非常神奇(指我不会

标签:凸多边形,frac,常见,基础,sqrt,times,数学,2n,递推
来源: https://www.cnblogs.com/vivaldi370/p/MathBasic_8_Number.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有