Note -「普通生成函数 OGF」
\(\mathbf{OGF}\) 的定义
对于一个序列 \(a_{1},a_{2},\cdots\),我们称:
\]
为序列 \(a\) 的 \(\mathbf{OGF}\) 即普通生成函数 (\(\texttt{Ordinary Generating Function}\))。
同时因为我们不关心 \(x\) 的取值,因此 \(\sum_{i=1}^{+\infty}a_{i}x^{i}\) 又称作以 \(x\) 为自由元的形式幂级数。 -- 摘自 自为风月马前卒
一个例子
举个例子,序列:
\]
的 \(\mathbf{OGF}\) 为(二项式定理):
\]
由等比数列求和公式,有一个常用的等式:
\]
因为指数为 \(\infty\),所以 \(x^{\infty}\) 趋近于 \(0\),箭头方向随便打,因为我们并不关心 \(x\) 的取值。
即
\]
这个等式还有一个重要的运用,我们把 \(x\) 替换成 \(kx\) 即可得:
\]
后文的用 \(\mathbf{OGF}\) 求序列的通项公式里面这个东西很有用的。
\(\texttt{Fibonacci}\) 序列的生成函数求法
定义一个序列
1,i\in[0,1] \\
\displaystyle
F_{i-1}+F_{i-2},i\in[2,\infty)
\end{cases}
\]
则我们称 \(F\) 为 \(\texttt{Fibonacci}\) 序列。
接下来我们来推导其生成函数:
G(x)&=\sum_{i=0}^{\infty}F_{i}x^{i} \\
G(x)&=1+x+2x^{2}+3x^{3}+\cdots \\
xG(x)&=x+x^{2}+2x^{3}+3x^{4}+\cdots \\
x^{2}G(x)&=x^{2}+x^{3}+2x^{4}+3x^{5}+\cdots
\end{aligned}
\]
这里运用初中数学中经常用的到错位相减这一小技巧,可得
\]
即可得
\]
至此,我们已经求出了 \(\texttt{Fibonacci}\) 序列的 \(\mathbf{OGF}\) 了。
利用生成函数求数列通项
以前文提到的 \(\texttt{Fibonacci}\) 为例。
首先我们知道其 \(\mathbf{OGF}\) 为:
\]
待定系数一下分母我们就可以得到:
\]
后面的还没推出来,咕了
Note -「普通生成函数 OGF」的更多相关文章
- Note -「圆方树」学习笔记
目录 圆方树的定义 圆方树的构造 实现 细节 圆方树的运用 「BZOJ 3331」压力 「洛谷 P4320」道路相遇 「APIO 2018」「洛谷 P4630」铁人两项 「CF 487E」Touris ...
- Note -「Dijkstra 求解 MCMF」
食用前请先了解 SPFA + Dinic/EK 求解 MCMF. Sol. 总所周知,SPFA 牺牲了.于是我们寻求一些更稳定的算法求解 MCMF. 网络流算法的时间属于玄学,暂且判定为混乱中的稳定. ...
- Note -「Dsu On Tree」学习笔记
前置芝士 树连剖分及其思想,以及优化时间复杂度的原理. 讲个笑话这个东西其实和 Dsu(并查集)没什么关系. 算法本身 Dsu On Tree,一下简称 DOT,常用于解决子树间的信息合并问题. 其实 ...
- Note -「矩阵树定理」学习笔记
大概--会很简洁吧 qwq. 矩阵树定理 对于无自环无向图 \(G=(V,E)\),令其度数矩阵 \(D\),邻接矩阵 \(A\),令该图的 \(\text{Kirchhoff}\) 矩阵 \ ...
- Note -「狄利克雷前缀和」
学到一个诡异东西,当个 Trick 处理用吧. 现在有一个形如 \(\sum \limits _{i = 1} ^{n} \sum \limits _{d | i} f(d)\) 的柿子,不难发现可以 ...
- Note -「多项式」基础模板(FFT/NTT/多模 NTT)光速入门
进阶篇戳这里. 目录 何为「多项式」 基本概念 系数表示法 & 点值表示法 傅里叶(Fourier)变换 概述 前置知识 - 复数 单位根 快速傅里叶正变换(FFT) 快速傅里叶逆变换(I ...
- Note -「Lagrange 插值」学习笔记
目录 问题引入 思考 Lagrange 插值法 插值过程 代码实现 实际应用 「洛谷 P4781」「模板」拉格朗日插值 「洛谷 P4463」calc 题意简述 数据规模 Solution Step 1 ...
- Note -「动态 DP」学习笔记
目录 「CF 750E」New Year and Old Subsequence 「洛谷 P4719」「模板」"动态 DP" & 动态树分治 「洛谷 P6021」洪水 「S ...
- Note -「Mobius 反演」光速入门
目录 Preface 数论函数 积性函数 Dirichlet 卷积 Dirichlet 卷积中的特殊函数 Mobius 函数 & Mobius 反演 Mobius 函数 Mobius 反演 基 ...
- Loj 2320.「清华集训 2017」生成树计数
Loj 2320.「清华集训 2017」生成树计数 题目描述 在一个 \(s\) 个点的图中,存在 \(s-n\) 条边,使图中形成了 \(n\) 个连通块,第 \(i\) 个连通块中有 \(a_i\ ...
随机推荐
- C温故补缺(十八):网络编程
计算机网络 参考:TCP三次握手详解. OSI模型 简单分层: 其中,链路层还可以分出物理层和数据链路层.应用层可以分出会话层,表示层和应用层. 七层模型: 链路层:只是物理的比特流和简单封装的数据帧 ...
- 如何制作 Storybook Day 网页上的 3D 效果?
Storybook 刚刚达到了一个重要的里程牌:7.0 版本!为了庆祝,该团队举办了他们的第一次用户大会 - Storybook Day.为了更特别,在活动页面中添加了一个视觉上令人惊叹的 3D 插图 ...
- .NET指定图片地址下载并转换Base64字符串
需求描述 需要调用第三方图片上传接口上传图片,对方图片格式只能接收Base64字符串.所以我们需要将系统服务器的图片通过Url下载下来,然后转换成Base64字符串.接下来我们将使用HttpClien ...
- 【Leetcode】 # 20 有效的括号 Rust Solution About Rust Stack implement
给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效.有效字符串需满足: 左括号必须用相同类型的右括号闭合. 左括号必须以正确的顺序闭合.注意空字符 ...
- Hello Welcome to my blog!
Hello Welcome to my blog!
- 一文了解Go语言的函数
1. 引言 函数是编程中不可或缺的组成部分,无论是在Go语言还是其他编程语言中,函数都扮演着重要的角色.函数能够将一系列的操作封装在一起,使得代码更加模块化.可重用和易于维护. 在本文中,我们将详细介 ...
- 前端vue自定义简单实用下拉筛选 下拉菜单
前端vue自定义简单实用下拉筛选 下拉菜单, 下载完整代码请访问: https://ext.dcloud.net.cn/plugin?id=13020 效果图如下: #### 使用方法 ``` ...
- Dash应用页面整体布局技巧
本文示例代码已上传至我的Github仓库:https://github.com/CNFeffery/dash-master 大家好我是费老师,对于刚上手dash应用开发的新手朋友来说,如何进行合理且美 ...
- asp.net程序通过Microsoft Azure令牌授予流获取UserInfo终结点实现单点登录--隐式授予流(OIDC协议)
1. Microsoft Azure令牌授予流 令牌授予流种类如下: 本章节采用: 隐式授予流: 2. 隐式授予流的实现 流程:重定向到authorize--->拿到access_token-- ...
- 基于python+django的宠物商店-宠物管理系统设计与实现
该系统是基于python+django开发的宠物商店-宠物管理系统.是给师妹开发的课程作业.现将源码开放给大家.大家学习过程中,如遇问题可以在github咨询作者. 演示地址 前台地址: http:/ ...