P3978 [TJOI2015]概率论
\(\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]概率论相关推荐
- P3978 [TJOI2015]概率论(生成函数)
P3978 [TJOI2015]概率论 设fif_ifi表示节点数为iii的二叉树有多少,gig_igi表示节点数为iii的二叉树有多少叶子节点. fn=∑i=0n−1fifn−1−if_n = ...
- 洛谷 P3978 [TJOI2015]概率论
传送门 题目描述 为了提高智商,ZJY开始学习概率论.有一天,她想到了这样一个问题:对于一棵随机生成的n个结点的有根二叉树(所有互相不同构的形态等概率出现),它的叶子节点数的期望是多少呢? 输入格式 ...
- bzoj 4001: [TJOI2015]概率论(找规律)
4001: [TJOI2015]概率论 Time Limit: 10 Sec Memory Limit: 128 MB Submit: 1033 Solved: 545 [Submit][Stat ...
- 题解 P3978 【[TJOI2015]概率论】
这道题...好像是第一道我自己切出来的黑题... 先说一句,牛顿二项式蒟蒻并不会,可以说是直接套结论. 求诸位老爷轻喷. 这道题用卡特兰数搞. 卡特兰数这玩意从普及组初赛一路考到省选,十分有用. 如果 ...
- BZOJ4001[TJOI2015]概率论——卡特兰数
题目描述 输入 输入一个正整数N,代表有根树的结点数 输出 输出这棵树期望的叶子节点数.要求误差小于1e-9 样例输入 1 样例输出 1.000000000 提示 1<=N<=10^9 设 ...
- 【BZOJ】4001: [TJOI2015]概率论
题意 求节点数为\(n\)的有根树期望的叶子结点数.(\(n \le 10^9\)) 分析 神题就打表找规律.. 题解 方案数就是卡特兰数,$h_0=1, h_n = \sum_{i=0}^{n-1} ...
- 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). 类 ...
- bzoj 4001 [TJOI2015]概率论 数学
4010: [HNOI2015]菜肴制作 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/ ...
- BZOJ4001[TJOI2015]概率论(数学、期望、生成函数、卡特兰数)
题目传送:https://www.lydsy.com/JudgeOnline/problem.php?id=4001 Description Input 输入一个正整数N,代表有根树的结点数 Outp ...
最新文章
- 给 COLA 做减法:应用架构中的“弯弯绕设计”
- python init文件_Python __init__.py 作用详解
- XVIII Open Cup named after E.V. Pankratiev. Grand Prix of SPb
- Windows下mysql的基础操作
- Ubuntu14.04创建WiFi热点
- cad隐藏图层命令快捷键_99%的人没用过CAD图层这个功能!
- Ue4升级chrome内核
- 电脑知识:如何将旧的Windows笔记本电脑切换到Linux
- aligned内存对齐
- 2012服务器系统设,server2012服务器安装及设置
- pandas中关于DataFrame去掉重复行和NaN行
- Jira实战 | 版本和组件管理
- 论文阅读报告 Traffic-Based Dynamic Beam Coverage Adjustment in Satellite Mobile Communication
- <架构师必修课>-nginx
- 1654_MIT 6.828 JOS entry.S实现分析
- R语言--股票数据分析
- 用TreeView做权限导航的一个例子
- NYOJ-备用2350 彩排(位运算)
- KNN分类sklearn的make_moons数据集
- 哈工大深圳计算机跨专业保研,孤独的征程——我的保研路(跨专业篇)
热门文章
- oracle删除所有触发器的命令,Oracle删除当前用户的所有对象(表、视图、触发器、存储过程、函数)...
- 谷歌Android无障碍套件,谷歌为无障碍套件添加盲文键盘:无需额外硬件就能打字...
- c语言字符屏幕,C语言字符屏幕函数 - 编程资料 - Powered 万人网络编程学院 bcxy.yinese.com...
- java保存图片进度条_Java上传文件进度条的实现方法(附demo源码下载)
- c语言数组方式实现静态循环队列
- VB自定义函数加 和 ;
- 零基础学Android之常用控件
- mybatis 配置文件报错:Referenced file contains errors(file:/D:/config/ mybatis-3-mapper.dtd).
- cookie的expires属性和max-age属性
- 解决Nginx添加openssl模块编译时报错问题