luogu P3830 [SHOI2012]随机树 期望 dp】的更多相关文章

LINK:随机树 非常经典的期望dp. 考虑第一问:设f[i]表示前i个叶子节点的期望平均深度. 因为期望具有线性性 所以可以由每个叶子节点的期望平均深度得到总体的. \(f[i]=(f[i-1]\cdot (i-1)+(f[i-1]+1)\cdot 2-f[i-1])/i=f[i-1]+2/i\) 考虑第二问:可以设f[i][j]表示i个叶子节点树高恰好为j的概率. 转移即可 不过值得注意的是 P(i,k)有i个叶子k个被分给左子树的概率为1/(i-1) 这个可以通过计算得到.最终可以通过前缀…
题面 luogu 题解 第一问: 设\(f[i]\)表示\(i\)步操作后,平均深度期望 \(f[i] = \frac {f[i - 1] * (i - 1)+f[i-1]+2}{i}=f[i-1]+\frac{2}{i}\) 第二问就比较难受了: \(E(x)=∑_{i=1}^{x}P\) 随机变量\(x\)的期望为对于所有\(i\),\(i≤x\)的概率之和 我们设\(f[i][j]\)表示\(i\)步后,树的深度\(>=j\)的概率 我们每次新建一个根,然后枚举左右子树分配节点情况 \(f…
输入格式 输入仅有一行,包含两个正整数 q, n,分别表示问题编号以及叶结点的个数. 输出格式 输出仅有一行,包含一个实数 d,四舍五入精确到小数点后 6 位.如果 q = 1,则 d 表示叶结点平均深度的数学期望值:如果 q = 2,则 d 表示树深度的数学期望值. p=1 令f(x)表示有x个叶子节点的树的叶子节点平均深度,则 f(x)*x 为叶子节点深度之和 f(x)+2随机选择一个叶子节点展开后增加的深度 f(x)= ((x-1)f(x-1)+f(x-1)+2)/x = (xf(x) +…
题意 初始 \(1\) 个节点,每次选定一个叶子节点并加入两个儿子直到叶子总数为 \(n\),问叶子节点深度和的平均值的期望以及最大叶子深度的期望. \(n\leq 100\) . 分析 对于第一问,根据答案定义状态 \(f_i\) 表示有 \(i\) 个叶子节点的深度和平均值的期望. 考虑对于之前的每一棵树对期望的贡献,记其发生的概率为 \(p\) ,深度和为 \(w\) ,有 \(i-1\) 个叶子节点.贡献为 \(p*\frac{w}{i-1}\) .现在要多选定一个叶子节点有 \(i-1…
P3830 随机树 坑题,别人的题解我看了一个下午没一个看得懂的,我还是太弱了. 题目链接 P3830 [SHOI2012]随机树 题目描述 输入输出格式 输入格式: 输入仅有一行,包含两个正整数 q, n,分别表示问题编号以及叶结点的个数. 输出格式: 输出仅有一行,包含一个实数 d,四舍五入精确到小数点后 6 位.如果 q = 1,则 d 表示叶结点平均深度的数学期望值:如果 q = 2,则 d 表示树深度的数学期望值. 说明 第一问很水,考虑每次新拓展节点就是让树的总深度加上 2 也就是:…
P3830 [SHOI2012]随机树 链接 分析: 第一问:f[i]表示有i个叶子结点的时候的平均深度,$f[i] = \frac{f[i - 1] + 2 + f[i - 1] * (i - 1)}{2} $,表示新增加一个叶子结点,深度增加2,加权后取平均值. 第二问:f[i][j]表示有i个叶子结点,树的深度大于等于j的概率,有$f[i][max(k, l)+ 1] = \frac{f[j][k] \times f[i - j][l]}{i - 1}$,$ans=\sum\limits_…
题目:https://www.luogu.org/problemnew/show/P3830 询问1:f[x]表示有x个叶节点的树的叶节点平均深度: 可以把被扩展的点的深度看做 f[x-1] ,于是两个新点深度为 f[x-1]+1,而剩下的x-2个点平均深度就是f[x-1]: 所以f[x] = [ f[x-1] * (x-2) + (f[x-1] + 1) * 2 ] / x : 整理得到f[x] = f[x-1] + 2 / x : 询问2:f[i][j]表示有i个叶子节点.深度为j的概率:…
https://www.luogu.org/problemnew/show/P3830 具体方法见代码.. 其实挺神奇的,概率可以先算出“前缀和”(A小于等于xxx的概率),然后再“差分”得到A恰好为xxx的概率 话说推了很久“x个叶子节点的树,左子树有y个节点”的概率的dp,推不出来,然后无意间手玩了一下5个叶子节点,发现这个东西其实就等于1/(x-1),跟y没有关系... #include<cstdio> #include<algorithm> #include<cstr…
题意非常的复杂,考虑转化一下: 每次选择一个叶节点,删除本叶节点(深度为$dep$)的同时,加入两个深度为$dep + 1$的叶节点,重复$n$轮 首先考虑第$1$问,(你看我这种人相信数据绝对是最大的数据,直接$f[i][S]$表示$i$个叶子结点,深度之和为$j$的时候的概率,然后化前缀和化出来...) 对于一个深度为$x$的点,对它操作后,深度增加了$2 * (x+ 1) - x = x +2$ 现在考虑平均的情况,令$f[i]$表示$i$个节点的平均深度,那么$f[i] = \frac{…
[SHOI2012]随机树 题目大意( 网址戳我! ) 随机树是一颗完全二叉树,初始状态下只有一个节点. 随机树的生成如下:每次随机选择一个叶子节点,扩展出两个儿子. 现在给定一个正整数\(n\)(\(n \le 100\)) , 询问叶子节点个数为\(n\)的随机树: \(q = 1\) :叶子节点的平均深度 \(q = 2\) :整棵随机树的平均深度 样例:\(cin\ q\ n\ \ \ \ ;cin\ 1\ 4\ ,\ put\ 2.166667\ \ \ ;\ \ \ cin \ 2…