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. 官网英文版学习——RabbitMQ学习笔记(七)Topic

    在上一篇中使用直接交换器改进了我们的系统,使得它能够有选择的进行接收消息,但它仍然有局限性——它不能基于多个条件进行路由.本节我们就进行能够基于多个条件进行路由的topics exchange学习. ...

  2. Spark 2.x Troubleshooting Guide

    IBM在spark summit上分享的内容,包括编译spark源码,运行spark时候常见问题(缺包.OOM.GC问题.hdfs数据分布不均匀等),spark任务堆/thread dump 目录 编 ...

  3. metaspace 元空间

    为何移除持久代 它的大小是在启动时固定好的, 很难进行调优 -XX:MaxPermSize(默认64M) HotSpot 的内部类型也是Java对象: 它可能会在Full GC中被移动, 同时它对应用 ...

  4. [题解] LuoguP6071 [MdOI2020] Treequery

    传送门 感觉这是一个写的很舒服的题? 树上路径的交什么的就很想树上差分?发现根本没法做...它还要求在线.... 好先来看\(Subtask\)吧\(qwq\)... Subtask 1 \(l=r\ ...

  5. NASA的10条编码规则

    关于NASA的10条编程规则,他们曾表示:这些规则的作用就像汽车上的安全带:最初,它们可能有点不舒服,但过了一会儿,它们的使用就变成了第二天性,而没有使用它们就变得不可想象. Gerard J. Ho ...

  6. 吴裕雄--天生自然C++语言学习笔记:C++ 信号处理

    信号是由操作系统传给进程的中断,会提早终止一个程序.在 UNIX.LINUX.Mac OS X 或 Windows 系统上,可以通过按 Ctrl+C 产生中断. 有些信号不能被程序捕获,但是下表所列信 ...

  7. Win7微信DLL劫持反弹SHELL(10.9 第十七天)

    (该文参考自网络其他人资料,仅为学习,不得用于非法用途) 准备的工具:kali虚拟机 W7虚拟机 微信 ProcessExplorer the-backdoor-factory-master 打开微信 ...

  8. fork系统调用方式成为负担,需要淘汰

    微软研究人员发表论文称用于创建进程的 fork 系统调用方式已经很落后,并且对操作系统的研究与发展产生了极大的负面影响,需要淘汰,作者同时提出了替代方案.相信每位开发者都对操作系统中的 fork () ...

  9. POJ 1185:炮兵阵地

    炮兵阵地 Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 21366   Accepted: 8280 Description ...

  10. bzoj 3732Network

    先搞个最小生成树,然后lca(和之前的一个cf题差不多2333, 纯属颓废了..) 顺便思考了一下正确性. 因为所求的是所有路径中最大边的最小值.而kruskal每次往里添加的就是最小边.所以在生成树 ...