\(\mathbf{OGF}\) 的定义

对于一个序列 \(a_{1},a_{2},\cdots\),我们称:

\[G(x)=\sum_{i=0}^{\infty}a_{i}x^{i}
\]

为序列 \(a\) 的 \(\mathbf{OGF}\) 即普通生成函数 (\(\texttt{Ordinary Generating Function}\))。

同时因为我们不关心 \(x\) 的取值,因此 \(\sum_{i=1}^{+\infty}a_{i}x^{i}\) 又称作以 \(x\) 为自由元的形式幂级数。 -- 摘自 自为风月马前卒

一个例子

举个例子,序列:

\[\left(^{n}_{0}\right),\left(^{n}_{1}\right),\cdots,\left(^{n}_{n}\right)
\]

的 \(\mathbf{OGF}\) 为(二项式定理):

\[G(x)=(1+x)^{n}
\]

由等比数列求和公式,有一个常用的等式:

\[\sum_{i=0}^{\infty}x^{i}=\frac{1-x^{\infty}}{1-x}
\]

因为指数为 \(\infty\),所以 \(x^{\infty}\) 趋近于 \(0\),箭头方向随便打,因为我们并不关心 \(x\) 的取值。

\[\sum_{i=0}^{\infty}x^{i}=\frac{1}{1-x}
\]

这个等式还有一个重要的运用,我们把 \(x\) 替换成 \(kx\) 即可得:

\[\sum_{i=0}^{\infty}(kx)^{i}=\frac{1}{1-kx}
\]

后文的用 \(\mathbf{OGF}\) 求序列的通项公式里面这个东西很有用的。

\(\texttt{Fibonacci}\) 序列的生成函数求法

定义一个序列

\[F_{i}=\begin{cases}
1,i\in[0,1] \\
\displaystyle
F_{i-1}+F_{i-2},i\in[2,\infty)
\end{cases}
\]

则我们称 \(F\) 为 \(\texttt{Fibonacci}\) 序列。

接下来我们来推导其生成函数:

\[\begin{aligned}
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}
\]

这里运用初中数学中经常用的到错位相减这一小技巧,可得

\[G(x)-xG(x)-x^{2}G(x)=1
\]

即可得

\[G(x)=\frac{1}{1-x-x^{2}}
\]

至此,我们已经求出了 \(\texttt{Fibonacci}\) 序列的 \(\mathbf{OGF}\) 了。

利用生成函数求数列通项

以前文提到的 \(\texttt{Fibonacci}\) 为例。

首先我们知道其 \(\mathbf{OGF}\) 为:

\[G(x)=\frac{1}{1-x-x^{2}}
\]

待定系数一下分母我们就可以得到:

\[G(x)=\frac{1}{(1-\frac{1+\sqrt{5}}{2}x)(1-\frac{1-\sqrt{5}}{2}x)}
\]

后面的还没推出来,咕了

Note -「普通生成函数 OGF」的更多相关文章

  1. Note -「圆方树」学习笔记

    目录 圆方树的定义 圆方树的构造 实现 细节 圆方树的运用 「BZOJ 3331」压力 「洛谷 P4320」道路相遇 「APIO 2018」「洛谷 P4630」铁人两项 「CF 487E」Touris ...

  2. Note -「Dijkstra 求解 MCMF」

    食用前请先了解 SPFA + Dinic/EK 求解 MCMF. Sol. 总所周知,SPFA 牺牲了.于是我们寻求一些更稳定的算法求解 MCMF. 网络流算法的时间属于玄学,暂且判定为混乱中的稳定. ...

  3. Note -「Dsu On Tree」学习笔记

    前置芝士 树连剖分及其思想,以及优化时间复杂度的原理. 讲个笑话这个东西其实和 Dsu(并查集)没什么关系. 算法本身 Dsu On Tree,一下简称 DOT,常用于解决子树间的信息合并问题. 其实 ...

  4. Note -「矩阵树定理」学习笔记

      大概--会很简洁吧 qwq. 矩阵树定理   对于无自环无向图 \(G=(V,E)\),令其度数矩阵 \(D\),邻接矩阵 \(A\),令该图的 \(\text{Kirchhoff}\) 矩阵 \ ...

  5. Note -「狄利克雷前缀和」

    学到一个诡异东西,当个 Trick 处理用吧. 现在有一个形如 \(\sum \limits _{i = 1} ^{n} \sum \limits _{d | i} f(d)\) 的柿子,不难发现可以 ...

  6. Note -「多项式」基础模板(FFT/NTT/多模 NTT)光速入门

      进阶篇戳这里. 目录 何为「多项式」 基本概念 系数表示法 & 点值表示法 傅里叶(Fourier)变换 概述 前置知识 - 复数 单位根 快速傅里叶正变换(FFT) 快速傅里叶逆变换(I ...

  7. Note -「Lagrange 插值」学习笔记

    目录 问题引入 思考 Lagrange 插值法 插值过程 代码实现 实际应用 「洛谷 P4781」「模板」拉格朗日插值 「洛谷 P4463」calc 题意简述 数据规模 Solution Step 1 ...

  8. Note -「动态 DP」学习笔记

    目录 「CF 750E」New Year and Old Subsequence 「洛谷 P4719」「模板」"动态 DP" & 动态树分治 「洛谷 P6021」洪水 「S ...

  9. Note -「Mobius 反演」光速入门

    目录 Preface 数论函数 积性函数 Dirichlet 卷积 Dirichlet 卷积中的特殊函数 Mobius 函数 & Mobius 反演 Mobius 函数 Mobius 反演 基 ...

  10. Loj 2320.「清华集训 2017」生成树计数

    Loj 2320.「清华集训 2017」生成树计数 题目描述 在一个 \(s\) 个点的图中,存在 \(s-n\) 条边,使图中形成了 \(n\) 个连通块,第 \(i\) 个连通块中有 \(a_i\ ...

随机推荐

  1. SYCTF2023 WEB writeup

    CarelessPy 一进来就是个任意文件下载功能,不过做了些限制,这题从头到尾都在骂杂鱼...(虽然我确实是(bushi) 查看页面源代码,给了个/eval /login 两个路由,/eval是个目 ...

  2. CentOs7安装部署Sonar环境(JDK1.8+MySql5.7+sonarqube7.8)

    sonarqube安装前环境准备JDK1.8.MySql5.7. 一.JDK安装 1.下载jdk #打开下面的网址,选择 jdk-8u371-linux-x64.tar.gz 进行下载 (8u371版 ...

  3. WPF 入门笔记 - 05 - 依赖属性

    如果预计中的不幸没有发生的话,我们就会收获意外的喜悦. --人生的智慧 - 叔本华 WPF属性系统 这一部分是中途加的,直接依赖属性有点迷糊,正好有了绑定的基础,理解起来还一些. WPF提供一组服务, ...

  4. uniapp-chatgpt跨端仿ChatGPT实例|uniapp+vue3+pinia多端聊天模板

    基于uniapp+vite4+pinia跨多端实现chatgpt会话模板Uniapp-ChatGPT. uni-chatgpt 使用uni-app+vite4+vue3+pinia+uview-plu ...

  5. PHP处理模板 cookie优先 检测用户登录

    <?php// +----------------------------------------------------------------------// | easy pay [ pa ...

  6. 关于SQL SERVER ROW_NUMBER(),RANK(),DENSE_RANK() 的排序和分页查询问题

    经常接触SQL SERVER 的朋友来说,排序是经常遇见的问题,有的人还会傻傻自己写排序,比如用循环去写,当然这就比较难受 今天就给大家介绍一下SQL SERVER 自带的排序,共有三种,分别为ROW ...

  7. 相较于Scrum, 我更推崇精益Kanban,帮助团队建立价值交付流,识别瓶颈问题

    最近在学习实践精益Kanban方法,结合自己团队实践Srum的经历,整理些资料二者的差异.相较于Scrum, 我更推崇精益Kaban. Agile是一套理论和原则,就像天边的北极星.Devops是一种 ...

  8. 初始elasticSearch

    elasticSearch 大致印象 为什么用? mysql更擅长于crud等操作,当一张表达到百万级别时,检索速度过慢 es检索速度快 基本概念 Index索引(两层意思) 动词:类似mysql的i ...

  9. 安装centos系统,硬盘检测报错:修改BIOS为 Legacy

    进bios,将模式修改为legacy. 硬盘使用 MBR 分区,需要用 Legacy BIOS 启动,而不是 UEFI BIOS . 至于为什么安装的时候会报错? 可能是系统有这方面限制.也可能是别的 ...

  10. 洛谷 Luogu P1038 [NOIP2003 提高组] 神经网络

    这题看着很吓人实则很简单.求输出层,正着求很麻烦,因为知不道谁连向这个点,所以可以反向建边,反着求. 拓扑+dfs,时间复杂度 \(\text{O(n + m)}\) #include <ios ...