【BZOJ】4001: [TJOI2015]概率论
题意
求节点数为\(n\)的有根树期望的叶子结点数。(\(n \le 10^9\))
分析
神题就打表找规律..
题解
方案数就是卡特兰数,$h_0=1, h_n = \sum_{i=0}^{n-1} h_i h_{n-1-i} \(。
设叶子数量和为\)f_n\(,则得到\)f_n = 2 \sum_{i=0}^{n-1} f_i h_{n-1-i}\(
设\)H(x)\(表示\)h_n\(的母函数,\)F(x)\(表示\)f_n\(的母函数
容易得到:\)\(H(x) = x H^2(x) + 1\)$ $$F(x) = 2 x F(x) H(x) + x$$即:$$H(x) = \frac{1-\sqrt{1-4x}}{2x}$$ $$F(x) = \frac{x}{1-\sqrt{1-4x}}$$发现$$(xH(x))' = \sum_{i=0}^{\infty} (i+1)h_i x^i = \frac{1}{\sqrt{1-4x}} = \frac{F(x)}{x}$$即$$F(x) = \sum_{i=0}^{\infty} (i+1)h_i x^{i+1} = \sum_{i=1}^{\infty} i h_{i-1} x^i = \sum_{i=0}^{\infty} f_i x^i$$即\(f_i = i h_{i-1}\)
所以\(ans = \frac{f_n}{h_n} = \frac{n h_{n-1}}{h_n} = \frac{n(n+1)}{2(2n-1)}\)
#include <bits/stdc++.h>
using namespace std;
typedef long double lf;
int main() {
lf n;
scanf("%Lf", &n);
printf("%.9Lf\n", n*(n+1)/2/(n*2-1));
return 0;
}
【BZOJ】4001: [TJOI2015]概率论的更多相关文章
- bzoj 4001 [TJOI2015]概率论 数学
4010: [HNOI2015]菜肴制作 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/ ...
- BZOJ 4001 [TJOI2015]概率论 ——找规律
题目太神了,证明还需要用到生成函数. 鉴于自己太菜,直接抄别人的结果好了. #include <map> #include <cmath> #include <queue ...
- 4001: [TJOI2015]概率论
4001: [TJOI2015]概率论 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 262 Solved: 108[Submit][Status] ...
- 概率论 - BZOJ - 4001 TJOI2015
TJOI2015 Problem's Link ---------------------------------------------------------------------------- ...
- 【BZOJ4001】[TJOI2015]概率论(生成函数)
[BZOJ4001][TJOI2015]概率论(生成函数) 题面 BZOJ 洛谷 题解 这题好仙啊.... 设\(g_n\)表示\(n\)个点的二叉树个数,\(f_n\)表示\(n\)个点的二叉树的叶 ...
- [TJOI2015]概率论
[TJOI2015]概率论 史上最短黑题 看起来一脸懵逼,没有取模,1e-9 根据期望定义,发现 分母是一个卡特兰数,,,,不能直接算 所以考虑怎么消掉一些东西 gn表示n个点的叶子个数和,fn表示n ...
- bzoj4001: [TJOI2015]概率论
题目链接 bzoj4001: [TJOI2015]概率论 题解 生成函数+求导 设\(g(n)\)表示有\(n\)个节点的二叉树的个数,\(g(0) = 1\) 设\(f(x)\)表示\(n\)个节点 ...
- 【BZOJ4001】【Luogu P3978】 [TJOI2015]概率论
题目描述: Description: Input 输入一个正整数N,代表有根树的结点数 Output 输出这棵树期望的叶子节点数.要求误差小于1e-9 Sample Input 1 Sample Ou ...
- BZOJ 4000: [TJOI2015]棋盘( 状压dp + 矩阵快速幂 )
状压dp, 然后转移都是一样的, 矩阵乘法+快速幂就行啦. O(logN*2^(3m)) ------------------------------------------------------- ...
随机推荐
- ms08-067漏洞--初识渗透测试--想必很多初学者都会遇到我文中提及的各种问题
最近读了一本书--<<渗透测试实践指南>>,测试了书中的一些例子后,开始拿ms08-067这个经典的严重漏洞练手,实践当中遇到诸多问题,好在一一解决了,获益匪浅. 在谷歌搜索的 ...
- QMF滤波器组 理论
QMF滤波器组 经常被用来子带信号分解,降低信号带宽,使各个子带可顺利由通道处理. 2^M个通道,等宽 QMF 正交镜像滤波器 正交滤波器 A(W) 与 A(W+pi) 之间的关系 ...
- Unity 好坑的Save Scene
在编辑一个Untiy工程的时候,有很多的教程提到了 "Save Scene",也知道是干么用的.但是,后面打开工程的时候,工程界面是很多东西都不见了,又忘了有个Save Scene ...
- 某互联网后台自动化组合测试框架RF+Sikuli+Python脚本
某互联网后台自动化组合测试框架RF+Sikuli+Python脚本 http://www.jianshu.com/p/b3e204c8651a 字数949 阅读323 评论1 喜欢0 一.**Robo ...
- Java内存管理及GC算法
概述 内存划分 虚拟机规范中将内存分为六大部分,分别为PC寄存器.JAVA虚拟机栈.JAVA堆.方法区.运行时常量及本地方法栈. 1.PC寄存器:线程独占: 2.JAVA虚拟机栈:线程独有:JAVA虚 ...
- centos系统/etc/sysconfig/目录下无iptables文件
原因一般是没有配置过防火墙,在安装linux系统时也已经禁掉了防火墙 随便写一条iptables命令配置个防火墙规则:如: iptables -P OUTPUT ACCEPT 然后用命令:servic ...
- 关于VPN的一些问题
在今在外出差,必须得连上公司的数据库,那就得使用VPN了,设置起来还算比较简单(我是win10), 简单介绍一下: 打开设置或者直接点击右下角的
- Echarts 3.19 制作常用的图形 非静态
最近阿里内部使用的 图表也向外开放了 而百度就好像更有良心一点,Echarts 早就开放了 . 自己学Echarts的时候走了很多的弯路,毕竟谁让自己菜呢,多撞几次南墙才晓得疼 才知道学习方法,新手上 ...
- SQL 检查 是否存在 表 临时表
1.检查临时表是否存在 已有临时表#temp2 if exists(select * from tempdb..sysobjects where id =object_id('tempdb..#tem ...
- Linux创建定时任务
例如: 要求每天23:59分备份lampp日志: 备份的文件名以当时的时间命名 格式为:201612241852_acces.log 备份到:/tmp/logs/目录下 1.新建shell脚本:vim ...