\(\color{#0066ff}{ 题目描述 }\)

为了提高智商,ZJY开始学习概率论。有一天,她想到了这样一个问题:对于一棵随机生成的n个结点的有根二叉树(所有互相不同构的形态等概率出现),它的叶子节点数的期望是多少呢?

判断两棵树是否同构的伪代码如下:

\(\color{#0066ff}{输入格式}\)

输入一个正整数n,表示有根树的结点数

\(\color{#0066ff}{输出格式}\)

输出这棵树期望的叶子节点数,要求误差小于1e-9

\(\color{#0066ff}{输入样例}\)

13

\(\color{#0066ff}{输出样例}\)

1.0000000001.200000000

\(\color{#0066ff}{数据范围与提示}\)

对于30%的数据,1 ≤ n ≤ 10

对于70%的数据,1 ≤ n ≤ 100

对于100%的数据,1 ≤ n ≤ \(10^9\)

\(\color{#0066ff}{ 题解 }\)

根据概率,显然\(ans=\frac{\sum二叉树叶子节点个数}{二叉树个数}\)

n个点的二叉树个数为\(Catalan(n)\)

考虑第n个点的位置(作为叶子节点),通过手胡,可以发现有n个位置可以作为叶子节点,于是方案为\(Catalan(n-1)\)

因此。。。\(ans=\frac{Catalan(n-1)*n}{Catalan(n)}\)

化简一下就是\(\frac{n*(n+1)}{4*n-2}\)

#include<bits/stdc++.h>
#define LL long long
LL in() {char ch; LL x = 0, f = 1;while(!isdigit(ch = getchar()))(ch == '-') && (f = -f);for(x = ch ^ 48; isdigit(ch = getchar()); x = (x << 1) + (x << 3) + (ch ^ 48));return x * f;
}
double n;
int main() {n = in();printf("%.10f", (double)((n) * (n + 1)) / (4.0 * n - 2));return 0;}

转载于:https://www.cnblogs.com/olinr/p/10278306.html

P3978 [TJOI2015]概率论相关推荐

  1. P3978 [TJOI2015]概率论(生成函数)

    P3978 [TJOI2015]概率论 设fif_ifi​表示节点数为iii的二叉树有多少,gig_igi​表示节点数为iii的二叉树有多少叶子节点. fn=∑i=0n−1fifn−1−if_n = ...

  2. 洛谷 P3978 [TJOI2015]概率论

    传送门 题目描述 为了提高智商,ZJY开始学习概率论.有一天,她想到了这样一个问题:对于一棵随机生成的n个结点的有根二叉树(所有互相不同构的形态等概率出现),它的叶子节点数的期望是多少呢? 输入格式 ...

  3. bzoj 4001: [TJOI2015]概率论(找规律)

    4001: [TJOI2015]概率论 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 1033  Solved: 545 [Submit][Stat ...

  4. 题解 P3978 【[TJOI2015]概率论】

    这道题...好像是第一道我自己切出来的黑题... 先说一句,牛顿二项式蒟蒻并不会,可以说是直接套结论. 求诸位老爷轻喷. 这道题用卡特兰数搞. 卡特兰数这玩意从普及组初赛一路考到省选,十分有用. 如果 ...

  5. BZOJ4001[TJOI2015]概率论——卡特兰数

    题目描述 输入 输入一个正整数N,代表有根树的结点数 输出 输出这棵树期望的叶子节点数.要求误差小于1e-9 样例输入 1 样例输出 1.000000000 提示 1<=N<=10^9 设 ...

  6. 【BZOJ】4001: [TJOI2015]概率论

    题意 求节点数为\(n\)的有根树期望的叶子结点数.(\(n \le 10^9\)) 分析 神题就打表找规律.. 题解 方案数就是卡特兰数,$h_0=1, h_n = \sum_{i=0}^{n-1} ...

  7. 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). 类 ...

  8. bzoj 4001 [TJOI2015]概率论 数学

    4010: [HNOI2015]菜肴制作 Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/ ...

  9. BZOJ4001[TJOI2015]概率论(数学、期望、生成函数、卡特兰数)

    题目传送:https://www.lydsy.com/JudgeOnline/problem.php?id=4001 Description Input 输入一个正整数N,代表有根树的结点数 Outp ...

最新文章

  1. 给 COLA 做减法:应用架构中的“弯弯绕设计”
  2. python init文件_Python __init__.py 作用详解
  3. XVIII Open Cup named after E.V. Pankratiev. Grand Prix of SPb
  4. Windows下mysql的基础操作
  5. Ubuntu14.04创建WiFi热点
  6. cad隐藏图层命令快捷键_99%的人没用过CAD图层这个功能!
  7. Ue4升级chrome内核
  8. 电脑知识:如何将旧的Windows笔记本电脑切换到Linux
  9. aligned内存对齐
  10. 2012服务器系统设,server2012服务器安装及设置
  11. pandas中关于DataFrame去掉重复行和NaN行
  12. Jira实战 | 版本和组件管理
  13. 论文阅读报告 Traffic-Based Dynamic Beam Coverage Adjustment in Satellite Mobile Communication
  14. <架构师必修课>-nginx
  15. 1654_MIT 6.828 JOS entry.S实现分析
  16. R语言--股票数据分析
  17. 用TreeView做权限导航的一个例子
  18. NYOJ-备用2350 彩排(位运算)
  19. KNN分类sklearn的make_moons数据集
  20. 哈工大深圳计算机跨专业保研,孤独的征程——我的保研路(跨专业篇)

热门文章

  1. oracle删除所有触发器的命令,Oracle删除当前用户的所有对象(表、视图、触发器、存储过程、函数)...
  2. 谷歌Android无障碍套件,谷歌为无障碍套件添加盲文键盘:无需额外硬件就能打字...
  3. c语言字符屏幕,C语言字符屏幕函数 - 编程资料 - Powered 万人网络编程学院 bcxy.yinese.com...
  4. java保存图片进度条_Java上传文件进度条的实现方法(附demo源码下载)
  5. c语言数组方式实现静态循环队列
  6. VB自定义函数加 和 ;
  7. 零基础学Android之常用控件
  8. mybatis 配置文件报错:Referenced file contains errors(file:/D:/config/ mybatis-3-mapper.dtd).
  9. cookie的expires属性和max-age属性
  10. 解决Nginx添加openssl模块编译时报错问题