博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJChallengeRound2 Tree 【数学期望】
阅读量:5012 次
发布时间:2019-06-12

本文共 708 字,大约阅读时间需要 2 分钟。

题目分析:

我们令$G(x)$表示前$x$个点的平均深度,$F(x)$表示第$x$个点的期望深度。

有$F(x) = G(x-1)+1$,$G(x) = G(x-1)+\frac{1}{x}$

所以答案相当于一个调和级数和的前缀和,我们对小于1e6的暴力处理,大于1e6的利用欧拉常数做。

 

代码:

1 #include
2 using namespace std; 3 4 const double euler = 0.57721566490153286060651209; 5 6 long long n; 7 8 int main(){ 9 while(scanf("%lld",&n) == 1){10 if(n <= 1e6){11 double ans = 0;12 for(int i=1;i<=n;i++) ans += (double)(n-i+1)/(double)i;13 ans /= n;14 printf("%.10lf\n",ans);15 }else{16 double hh = log(n)+euler;17 hh = hh*(n+1)-n;18 hh /= n;19 printf("%.10lf\n",hh);20 }21 }22 return 0;23 }

 

转载于:https://www.cnblogs.com/Menhera/p/10402849.html

你可能感兴趣的文章
delphi 基础书籍推荐
查看>>
《面向对象程序设计》2018年春学期寒假及博客作业总结
查看>>
iOS开发UI之KVC(取值/赋值) - KVO (观察某个对象的某个属性的改变)
查看>>
1.7 将一个MxN矩阵所有为0的元素所在行和列全部置0
查看>>
删除U盘时提示无法停止‘通用卷’设备的解决方法!!不要每次都硬拔了,对电脑有不小的损害!!!...
查看>>
Java中接口与接口和类之间的关系
查看>>
芯片TPS70925
查看>>
linux shell 发送email 附件
查看>>
人群密度估计 CrowdCount
查看>>
JSON.parse()和JSON.stringify()
查看>>
.net 常用正则表达式
查看>>
Java泛型中的标记符含义:
查看>>
初遇GitHub
查看>>
[C# 网络编程系列]专题八:P2P编程
查看>>
Jsの练习-数组常用方法 -forEach()
查看>>
动态绑定treeview的方法
查看>>
jvm参数
查看>>
3-1 案例环境初始化
查看>>
读《构建之法》第四章和十七章有感
查看>>
01背包
查看>>