博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU4986 Little Pony and Alohomora Part I
阅读量:1859 次
发布时间:2019-04-26

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

本题需要用到欧拉常数和递推。

题意:有n个箱子,n把钥匙随机的放在里面,问打开所有箱子的期望。

解析:每种情况都相当于一个循环的置换个数。

循环置换个数求解:那么考虑f[i]为i个箱子的情况,f[i + 1]要么就是放在最后多一个循环,要么就是插入中间循环个数不变,对应的转移为f[i + 1] = (f[i] + 1) / i + f[i] * (i - 1) / i 化简得到f[i] = f[i - 1] + 1 / i 。即f[n] = 1 + 1/2 + ...+ 1/ n,是个调和级数。

调和级数(即f(n))至今没有一个完全正确的公式,但欧拉给出过一个近似公式:(n很大时)

      f(n)ln(n)+C+1/2*n    

      欧拉常数值:C≈0.57721566490153286060651209

代码:

#include 
#include
#define N 1000005#define C 0.577215664901double a[N];int main(){ int n; a[1] = 1; for(int i = 2; i < N; i++) a[i] = a[i-1] + 1.0 / i; while(~scanf("%d", &n)){ double ans; if(n < N) ans = a[n]; else ans = log(n) + C + 1/(2*n); printf("%.4lf\n", ans); } return 0;}

转载地址:http://cmgyf.baihongyu.com/

你可能感兴趣的文章
Python 爬虫-豆瓣影星图片下载
查看>>
Excel数据基础操作
查看>>
网页端数据库操作界面—主题函数文件
查看>>
网页端数据库操作界面-Html页面(1)
查看>>
网页端数据库操作界面-Html页面(2)
查看>>
网页端数据库操作界面-Html页面(3)
查看>>
Excel 高级筛选
查看>>
Python爬虫 百度热搜热点
查看>>
Python 百度热搜 全页面爬取
查看>>
爬取小说——爬取书的地址
查看>>
爬取小说——爬取章节地址
查看>>
爬取小说——爬取标题和正文
查看>>
爬取小说——储存为TXT格式
查看>>
爬取小说——主体部分
查看>>
Python 窗口化操作
查看>>
excel的常用函数(二)
查看>>
excel的逻辑函数
查看>>
excel文本函数
查看>>
excel时间日期函数
查看>>
excel查找引用函数
查看>>