首页 > 其他 > 详细

[TJOI2015]概率论[卡特兰数]

时间:2018-10-20 17:47:19      阅读:174      评论:0      收藏:0      [点我收藏+]

题意

\(n\) 个节点二叉树的叶子节点的期望个数。

\(n\leq 10^9\) .

分析

  • 实际询问可以转化为 \(n\) 个点的不同形态的二叉树的叶子节点总数。

  • 定义 \(f_n\) 表示 \(n\) 个节点的二叉树的个数, \(g_n\) 表示 \(n\) 个节点的不同形态的二叉树的叶子节点总数。

  • 设一棵 \(n\) 个节点的树有 \(m\) 个叶子节点,每删去一个叶子节点都可以得到一棵大小为 \(n-1\) 的二叉树,考虑每个大小为 \(n-1\) 的二叉树,共有 \(n\) 个叶子节点,会被 \(n\) 棵大小为 \(n\) 的树考虑叶子贡献。

  • 得到 \(g_n=\frac{n*f_{n-1}}{f_n}\)

  • \(f_n\) 是卡特兰数的第 \(n\) 项。

  • 化简之后答案为\(\frac{n(n+1)}{4n-2}\) .

代码

#include<cstdio>
using namespace std;
double x;
int main(){
   scanf("%lf",&x);
   printf("%.9lf\n",(x*(x+1)/2/(2*x-1)));
   return 0;
}

[TJOI2015]概率论[卡特兰数]

原文:https://www.cnblogs.com/yqgAKIOI/p/9822306.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!