TJOI 2015 概率论(生成函数)
题意
求一棵随机生成的有根二叉树(节点无标号,各种不同构的情况随机出现)叶子结点个数的期望。
思路
用生成函数做是个好题。
我们考虑设 \(n\) 个节点,所有不同构二叉树叶子结点的总和为 \(f_n\) 。首先,\(n\) 个节点的无标号有根二叉树种类数为 \(C_n\) ,其中 \(C_n\) 表示卡特兰数。那么递推式比较显然
\[
\begin{align*}
f_n&=\sum_{i=0}^{n-1}f_{i}C_{n-1-i}+f_{n-1-i}C_i\\
&=2\sum_{i=0}^{n-1} f_iC_{n-1-i}
\end{align*}
\]
特别的 \(f_0=0, f_1=1\) (求递推一定要考虑特殊情况,往往前面几项不满足递推)。
我们设数列 \(\{f_n\}\) 的生成函数为 \(F(x)\) , 数列 \(\{C_n\}\) 的生成函数为 \(G(x)\) 。
观察递推式,我们由卡特兰数递推的生成函数推导得到启发,可以将 \(F(x)\) 乘上 \(G(x)\) 。
\[
\begin{align*}
F(x)G(x)&=f_0C_0x^0+(f_0C_1+f_1C_0)x^1+(f_0C_2+f_1C_1+f_2C_0)x^2+\cdots\\
&=f_0C_0x^0+{f_2\over 2}x^1+{f_3\over 2}x^2+{f_4\over 2}x^3+\cdots\\
&={f_2x^1+f_3x^2+f_4x^3+\cdots\over2}\\
&={F(x)-(f_0x^0-f_1x^1)\over 2x}\\
&={F(x)-x\over 2x}\\
\end{align*}
\]
解得
\[
F(x)={1\over 1-2xG(x)}
\]
而卡特兰数的生成函数 \(G(x)\) 等于 \(\displaystyle{1-(1-4x)^{1\over 2}\over 2x}\)
代入得到
\[
\begin{align*}
F(x)&={x\over {\sqrt{1-4x}}}\\
&=x(1-4x)^{-{1\over 2}}
\end{align*}
\]
进行广义二项式展开
\[
\begin{align*}
F(x)&=x\sum_{i=0}^{+\infty}{-{1\over 2}\choose i}(-4x)^i\\
&=x\sum_{i=0}^{+\infty}{(-{1\over 2})\times(-{3\over 2})\times\cdots\times(-{2i-1\over 2})\over i!}(-4x)^i\\
&=x\sum_{i=0}^{+\infty}{2^i\times1\times3\times\cdots\times(2i-1)\over i!}x^i\\
&=x\sum_{i=0}^{+\infty}{2^i\times{2i!\over 2^ii!}\over i!}x^i\\
&=x\sum_{i=0}^{+\infty}{2i!\over i! i!}x^i\\
&=\sum_{i=0}^{+\infty}{2i\choose i}x^{i+1}\\
&=\sum_{i=1}^{+\infty}{2i-2\choose i-1}x^i\\
\end{align*}
\]
于是我们得到了
\[
f_n=\begin{cases}
\displaystyle{2n-2\choose n-1}&n>0\\
0&n=0
\end{cases}
\]
题目要求的,其实就是 \(\displaystyle{f_n\over C_n}\) ,即当 \(n=0\) 时,答案为 \(0\) ;否则答案为 \(\displaystyle{2n-2\choose n-1}\over \displaystyle{{1\over n+1}{2n\choose n}}\) 。
简化一下,变成了 \(\displaystyle {n(n+1)\over 4n-2}\) ,这就是最终的答案。
代码
输入 \(n\) ,输出 \(\displaystyle {n(n+1)\over 4n-2}\) 就行了,要什么代码??
TJOI 2015 概率论(生成函数)的更多相关文章
- 【bzoj4001】[TJOI2015]概率论 生成函数+导数
题目描述 输入 输入一个正整数N,代表有根树的结点数 输出 输出这棵树期望的叶子节点数.要求误差小于1e-9 样例输入 1 样例输出 1.000000000 题解 生成函数+导数 先考虑节点个数为$n ...
- BZOJ 3998 [TJOI 2015] 弦论 解题报告
这是一道后缀自动机经典题目. 对于 $t=0$ 的情况:每个节点都代表一个子串,所以我们给每个节点的 $Size$ 都记为 $1$, 对于 $t=1$ 的情况:我们只给 $last$ 节点的 $Siz ...
- BZOJ 3997 [TJOI 2015 组合数学] 解题报告
这个题我脑洞了一个结论: 首先,我们定义满足以下条件的路径为“从右上到左下的路径”: 对于路径上任何不相同的两个点 $(x_1, y_1)$,$(x_2, y_2)$,都有: $x_1\neq x_2 ...
- BZOJ 3996 [TJOI 2015] 线性代数 解题报告
首先,我们可以得到: $$D = \sum_{i=1}^{n}\sum_{j=1}^{n}a_i\times a_j\times b_{i,j} - \sum_{i=1}^{n}a_i\times c ...
- 解题:TJOI 2015 弦论
题面 好像是个经典问题,然而我没做过 建SAM,然后经过每个节点的子串数目就可以求了,多个相同子串算一个的话就把所有siz都搞成$1$,否则就是$right$集合的大小,然后就是常见的递推 求第$k$ ...
- 解题:TJOI 2015 组合数学
题面 通过这个题理解了一下反链的概念,更新在图论知识点里了 每个点向右和下连边可以建出一张图,这个题事实上是让我们求图的最小链覆盖.Dilworth定理告诉我们,最小链覆盖等于最长反链(反链:DAG中 ...
- 后缀自动机(SAM)奶妈式教程
后缀自动机(SAM) 为了方便,我们做出如下约定: "后缀自动机" (Suffix Automaton) 在后文中简称为 SAM . 记 \(|S|\) 为字符串 \(S\) 的长 ...
- 【BZOJ4001】[TJOI2015]概率论(生成函数)
[BZOJ4001][TJOI2015]概率论(生成函数) 题面 BZOJ 洛谷 题解 这题好仙啊.... 设\(g_n\)表示\(n\)个点的二叉树个数,\(f_n\)表示\(n\)个点的二叉树的叶 ...
- BZOJ4001 TJOI2015概率论(生成函数+卡特兰数)
设f(n)为n个节点的二叉树个数,g(n)为n个节点的二叉树的叶子数量之和.则答案为g(n)/f(n). 显然f(n)为卡特兰数.有递推式f(n)=Σf(i)f(n-i-1) (i=0~n-1). 类 ...
随机推荐
- Mysql 常用数据类型 占用字节数 [转]
数据类型是定义列中可以存储什么数据以及该数据实际怎么存储的基本规则.Mysql的常用数据类型主要有: 串数据类型:最常用的数据类型,有两种基本的串类型:分别为定长串和不定长串.定长串结束长度固定的字符 ...
- 超详细国外VPS搭建教程
vps文章请访问我的github:https://github.com/pig6/vps
- VS2019打开旧项目导致引用失效的解决方案
用VS2019打开VS2015创建的MVC项目时所有引用全部失效: 解决方案: 打开项目的csproj文件,删除 Target节点,在重新打开项目. <Target Name="Ens ...
- OWIN详细介绍
1.OWIN.dll介绍 用反编译工具打开Owin.dll,你会发现类库中就只有一个IAppBuilder接口,所以说OWIN是针对.NET平台的开放Web接口. public interface I ...
- 从VisualStudio资源文件看.NET资源处理
c# 工程里面,经常会添加资源文件. 作用: 一处文本多个地方的UI使用,最好把文本抽成资源,多处调用使用一处资源. 多语言版本支持,一份代码支持多国语言.配置多国语言的资源文件,调用处引用资源. 例 ...
- Java生鲜电商平台-服务器部署设计与架构
Java生鲜电商平台-服务器部署设计与架构 补充说明:Java开源生鲜电商平台-服务器部署设计与架构,指的是通过服务器正式上线整个项目,进行正式的运营. 回顾整个章节,我们涉及到以下几个方面: 1. ...
- 【设计模式】Adapter
前言 Adapter设计模式,允许客户端使用接口不兼容的类. 昨天收拾一些以前的东西,发现了藏在柜子里的一条线,这条线叫做OTG.这条线的一端是micro-usb的输出口,另一端是usb的输入口.这条 ...
- Vue内置组件[回顾]
1.动态组件 在某些场景,往往需要我们动态切换页面部分区域的视图,这个时候内置组件component就显得尤为重要. component接收一个名为is的属性,is的值应为父组件中注册过的组件的名称, ...
- map、filter、reduce函数的使用
1.filter() 作用:过滤 // 1.筛选出大于30的数. const array = [10, 20, 30, 40, 50, 60, 70, 80] // 普通写法 // let newar ...
- 4.dubbo 的 spi 思想是什么?
作者:中华石杉 面试题 dubbo 的 spi 思想是什么? 面试官心理分析 继续深入问呗,前面一些基础性的东西问完了,确定你应该都 ok,了解 dubbo 的一些基本东西,那么问个稍微难一点点的问题 ...