[TJOI2015] 概率论 - Catalan数】的更多相关文章

一棵随机生成的 \(n\) 个结点的有根二叉树(所有互相不同构的形态等概率出现)的叶子节点数的期望.\(n \leq 10^9\) Solution \(n\) 个点的二叉树个数即 Catalan 数 \(f(n)=\frac{C_{2n}^n}{n+1}\) 设 \(g(n)\) 为 \(n\) 个点的所有二叉树的叶子个数和,找规律得 \(g(n)=nf(n-1)\) Proof. 对于 \(n\) 个点,\(k\) 个叶子的二叉树,删掉任意一个叶子可以得到 \(k\) 个 \(n-1\) 个…
题目描述 输入 输入一个正整数N,代表有根树的结点数 输出 输出这棵树期望的叶子节点数.要求误差小于1e-9 样例输入 1 样例输出 1.000000000 提示 1<=N<=10^9 设$f[n]$表示$n$个节点能形成二叉树的方案数,$g[n]$表示所有方案的叶子数之和 $ans=\frac{g[n]}{f[n]}$,f$[n]$就是卡特兰数(这是卡特兰数的一个应用) 那么$g[n]$怎么求呢? 假设一种$n$节点二叉树有$k$个叶子,那么$g[n]=\sum k$ 我们将这$k$个叶子中…
题意 \(n\) 个节点二叉树的叶子节点的期望个数. \(n\leq 10^9\) . 分析 实际询问可以转化为 \(n\) 个点的不同形态的二叉树的叶子节点总数. 定义 \(f_n\) 表示 \(n\) 个节点的二叉树的个数, \(g_n\) 表示 \(n\) 个节点的不同形态的二叉树的叶子节点总数. 设一棵 \(n\) 个节点的树有 \(m\) 个叶子节点,每删去一个叶子节点都可以得到一棵大小为 \(n-1\) 的二叉树,考虑每个大小为 \(n-1\) 的二叉树,共有 \(n\) 个叶子节点…
考虑分别求出$f_n, g_n$表示$n$个点的有根二叉树的数量和$n$个点的所有情况下有根二叉树的叶子结点的总数 有$f_n = \sum_{k} f_k * f_{n - 1 - k}$,因此有$f_n = C_n$,其中$C_n$为卡特兰数 有$g_n = \sum_{k} g_k * f_{n - 1 - k} + g_{n - 1 - k} * f_k$ 通过打表,可以发现$g_n = n * C_{n - 1}$,可以用归纳法证明 因此答案为$\frac{g_n}{f_n} = \f…
Description Input 输入一个正整数N,代表有根树的结点数 Output 输出这棵树期望的叶子节点数.要求误差小于1e-9 Sample Input 1 Sample Output 1.000000000 HINT 1<=N<=10^9 Solution 好神仙一个题啊……rqy大爷的证明真的超简单明了QwQ膜拜rqy 首先设$f_n$表示$n$个点的二叉树个数,$g_n$表示$n$个点所有$f_n$棵二叉树的叶节点总数打个表可以发现:$f:1 ~2~ 5~ 14 ~42$$g:…
[BZOJ4001][TJOI2015]概率论(生成函数) 题面 BZOJ 洛谷 题解 这题好仙啊.... 设\(g_n\)表示\(n\)个点的二叉树个数,\(f_n\)表示\(n\)个点的二叉树的叶子个数. 最终要求的东西就是\(\frac{f_n}{g_n}\). 考虑这个玩意怎么转移,先考虑二叉树个数,即怎么求\(f_n\). 每次我们认为新加入的点作为根节点,那么接下来只需要枚举其左右子树大小就行了,所以得到: \[g_n=\sum_{i=0}^{n-1}g_ig_{n-1-i}\] 然…
[TJOI2015]概率论 史上最短黑题 看起来一脸懵逼,没有取模,1e-9 根据期望定义,发现 分母是一个卡特兰数,,,,不能直接算 所以考虑怎么消掉一些东西 gn表示n个点的叶子个数和,fn表示n个点二叉树个数 结论:g(n)=n*f(n-1) 考虑每个n个点的树的叶子,分别拔掉所有k个叶子,给剩下的k个(n-1)个点的树打上标记 那么,g(n)就是n-1个点的所有的树被打的标记之和 一个n-1个点的树,有n个位置可以有叶子,恰好会被打n次标记! 然后,ans(n)=g(n)/f(n),f(…
题目链接 bzoj4001: [TJOI2015]概率论 题解 生成函数+求导 设\(g(n)\)表示有\(n\)个节点的二叉树的个数,\(g(0) = 1\) 设\(f(x)\)表示\(n\)个节点的二叉树叶子节点的个数,\(f_0 = 0,f_1 = 1\) 那么\(ans = \frac{f_i}{g_i}\) 对于\(g_i\) 考虑有一颗\(n\)个点的二叉树,由于左右字数都是二叉树,枚举左右子树的点数 \[g_n = \sum_{i = 0}^{n - 1}g_ig_{n - i -…
应用一: codevs 3112 二叉树计数  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold   题目描述 Description 一个有n个结点的二叉树总共有多少种形态 输入描述 Input Description 读入一个正整数n 输出描述 Output Description 输出一个正整数表示答案 样例输入 Sample Input 6 样例输出 Sample Output 132 数据范围及提示 Data Size & Hint 1<=n&l…
Problem: n个人(偶数)排队,排两行,每一行的身高依次递增,且第二行的人的身高大于对应的第一行的人,问有多少种方案.mod 1e9+9 Solution: 这道题由1,2,5,14 应该想到Catalan数,但是我却花了两个小时去找递推式. 首先 Catalan数 : 基本规律:1,2,5,14,42,132,.......... 典型例题: 1.多边形分割.一个多边形分为若干个三角形有多少种分法. C(n)=∑(i=2...n-1)C(i)*C(n-i+1) 2.排队问题:转化为n个人…