BZOJ 4001 概率论

设\(f_i\)表示i个点的二叉树方案数

立刻有\(f_n = \sum_{i=0}^{n-1} f_i f_{n-i-1}\)

设\(F(x)为序列f的生成函数,有F(x)^2 = \sum_{i=0}^{+\infty} \sum_{i+j = n} f_i f_j x^i\)

可设\(g(x) = f(x+1) = \sum_{i+j = x} f_i f_j\)(\(G(x)为序列g的生成函数\))

有: \(G(x) = F(x)^2\), 又有\(F(x) = xG(x)+f(0)\),所以解得\(F(x) = (2x)^{-1} (1-(1-4x)^{\frac{1}{2}})\)

有二项式定理展开得\(F(x) = (2x)^{-1} (1-\sum_{i=0}^{+\infty} \dbinom{\frac{1}{2}}{i} (-4)^i)x^i)\)

考虑化简\(\sum_{i=0}^{+\infty} \dbinom{\frac{1}{2}}{i} (-4)^i\)

由组合数定义可知, \(\dbinom{\frac{1}{2}}{i} (-4)^i = -\sum_{i=0}^{+\infty} (2i-1)^{-1} \dbinom{2i}{i}\)

原式化简为\(F(x) = (2x)^{-1} (1+\sum_{i=0}^{+\infty} (2i-1)^{-1} \dbinom{2i}{i})x^i)\),有后式在x=0时取-1,消去前面的1,然后消去2x,可化简为\(F(x) = \sum_{i=0}^{+\infty} \frac{1}{4i+2} \dbinom{2i+2}{i+1}x^i\),拆去组合数得\(F(x) = \sum_{i=0}^{+\infty} \frac{1}{i+1} \dbinom{2i}{i} x^i\),即\(f_i = \frac{1}{i+1} \dbinom{2i}{i}\)

同理设节点数为i的所有二叉树的叶子种数为\(h_i\)(\(H(x)为序列的生成函数\)),\(H(x) = \frac{x}{\sqrt{1-4x}}\),同理得\(h_i = \dbinom{2i-2}{i-1}\),可得\(答案=\frac{h_i}{f_i}=\frac{n(n+1)}{2(2n-1)}\)

代码:

#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std ;
int n; double p ;
int main(){
scanf("%d",&n) ;
p = n/1.000000000 ;
printf("%.9lf",((p)*(p+1)) / (2 * (2*p - 1))) ;
}

[LuoguP3978](https://www.luogu.org/problem/P3978) BZOJ4001概率论的更多相关文章

  1. 个人洛谷账号地址——https://www.luogu.org/space/show?uid=181909 附上NOIP查分系统

    个人洛谷地址:       https://www.luogu.org/space/show?uid=181909 NOPI查分地址:      http://bytew.net/OIer/

  2. https://www.luogu.org/blog/An-Amazing-Blog/mu-bi-wu-si-fan-yan-ji-ge-ji-miao-di-dong-xi

    https://www.luogu.org/blog/An-Amazing-Blog/mu-bi-wu-si-fan-yan-ji-ge-ji-miao-di-dong-xi

  3. 解决PHP curl https时error 77(Problem with reading the SSL CA cert (path? access rights?))

    服务器环境为CentOS,php-fpm,使用curl一个https站时失败,打开curl_error,捕获错误:Problem with reading the SSL CA cert (path? ...

  4. luogu P3978 [TJOI2015]概率论

    看着就是要打表找规律 使用以下代码 for(int i=3;i<=20;i++) { int a1=0,a2=0; for(int j=1;j<i;j++) { for(int k=0;k ...

  5. 新手村,学会做人选数 https://www.luogu.org/problemnew/show/P1036

    #include<cstdio> #include<cmath> #include<string.h> using namespace std; int n,k,s ...

  6. 并不对劲的bzoj4001:loj2105:p3978:[TJOI2015]概率论

    题目大意 随机生成一棵\(n\)(n\leq10^9)个节点的有根二叉树,问叶子结点个数的期望. 题解 subtask 1:\(n\leq100\),70pts 结论:不同的\(n\)个节点的有根二叉 ...

  7. 转载https://www.luogu.org/problemnew/solution/P1665,http://bailian.openjudge.cn/practice/2002/的新解法

    不知道为什么O(n^4)O(n4)的玄学方法能过,正解显然是O(n^2)O(n2)的,枚举对角线,然后算出另外两点判断存不存在. 关键就在怎么通过对角线算出另外两点的坐标. 先贴公式. int mid ...

  8. [**P2766** 最长不下降子序列问题](https://www.luogu.org/problemnew/show/P2766)

    P2766 最长不下降子序列问题 考虑我们是如何\(dp\)这个\(LIS\)的. 我们是倒着推,设置\(dp(i)\)代表以\(i\)为起点的\(LIS\)是多少.转移太显然了 \[ dp(i)=m ...

  9. P3978 [TJOI2015]概率论

    \(\color{#0066ff}{ 题目描述 }\) 为了提高智商,ZJY开始学习概率论.有一天,她想到了这样一个问题:对于一棵随机生成的n个结点的有根二叉树(所有互相不同构的形态等概率出现),它的 ...

随机推荐

  1. EditText监听器------实时监听

    前言: 在Android开发中EditText的使用频率还是挺高的,比如登录界面输入密码验证码等,有的时候要求我们要在输入号码后显示是哪家公司的,比如中国移动,中国联通,这是就会用到EditText监 ...

  2. Java笔记: 继承成员覆盖和隐藏

    在扩展类时,既可以向类中添加新的成员,也可以重新定义现有的成员.重定义现有成员的具体效果取决于成员的类型.本文不会详细的介绍概念,只简要总结覆盖(overriding,也叫重写)和隐藏(hiding) ...

  3. PlayJava SpringMVC与Struts2杂谈

    一 先做一个简单对比: 1. SpringMVC的入口是Servlet,核心是DispatcherServlet,Struts2是Filter,核心是FilterDispatcher 2. Sprin ...

  4. 045-利用反射机制,简单的实现PHP插件模式

    <?php //利用反射机制,简单的实现PHP插件模式 # 假设,我们有一款开源产品,所有开发者都必须在我定制的需求之上,进行二次开发, # 而开发完成后的新模块,就是一个不一样的新插件,可以放 ...

  5. 021-PHP常用的数值类型判断函数

    <?php //判断数组 $colors = array("red", "blue", "green"); if(is_array($ ...

  6. 055-for循环中break的使用

    <?php ;;$x++){ //省略表达式2的for循环将是无限循环 echo "$x<br />"; ){ break; //使用if语句控制退出无限循环 } ...

  7. JNI调用so动态库

    1.编写native接口 package org.demo; public class JniDemo { public static native int bmp2fea(byte[] bmp, b ...

  8. ntpdate更新系统时间时报错Can't find host ntp1.aliyun.com: Servname not supported for ai_socktype (-8)

    ntpdate更新系统时间时报错Can't find host ntp1.aliyun.com: Servname not supported for ai_socktype (-8) 所报错误: [ ...

  9. 吴裕雄--天生自然C++语言学习笔记:C++ 命名空间

    假设这样一种情况,当一个班上有两个名叫 Zara 的学生时,为了明确区分它们,在使用名字之外,不得不使用一些额外的信息,比如他们的家庭住址,或者他们父母的名字等等. 同样的情况也出现在 C++ 应用程 ...

  10. Day 16:输入输出字符流、缓冲输入字符流

    输入输出字节流输出字符时的常见问题 import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStre ...