Codeforces Round #259(div2)C(数学期望)
2024-08-28 01:20:06
数学题。
关键是求最大值为k时有多少种情况,结果是kn-(k-1)n-1。可以这么想:每一次都从1至k里选,共kn种,这里需要再减去每一次都从1至k-1里面选的情况。当然也可以分类计数法:按出现几次k来分类,然后逆着用一下二项式定理得出结论。
整个的期望是Σk(kn-(k-1)n-1)/mn,其中k=1......n。
这里的技巧在于:由于n<=105, kn显然会RE,那么就先把分母除上,每次算一个小于1的浮点数的n次方,肯定不会RE。C++中乘方用pow函数算是很快的。
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<map>
#include<set>
#include<vector>
#include<algorithm>
#include<stack>
#include<queue>
using namespace std;
#define INF 1000000000
#define eps 1e-8
#define pii pair<int,int>
#define LL long long int
double m,n,ans=;
int main()
{
//freopen("in3.txt","r",stdin);
//freopen("out.txt","w",stdout);
scanf("%lf%lf",&m,&n);
for(int i=;i<=m;i++)
{
ans+=i*(pow(i/m,n)-pow((i-)/m,n));
}
printf("%.12f\n",ans);
//fclose(stdin);
//fclose(stdout);
return ;
}
最新文章
- CSS知识总结(二)
- nandflash的读写(2440)
- win10_x64更新错误解决: 安装一些更新时出现问题,但我们稍后会重试。如果持续出现这些问题,并且你想要搜索Web或联系支持人员以获取相关信息,以下信息可能会对你有帮助:
- mfc 在VC的两个对话框类中传递参数的三种方法
- C#中Application.DoEvents()的作用
- android控制之 adb shell (已完成,不定期增加内容)
- 基于 自己定义注解 和 aop 实现使用memcache 对数据库的缓存 演示样例
- SDN/NFV趋势思考点滴
- react创建组件的几种方式及其区别
- springAop注解式Demo
- 逗号分隔的字符串与List互转
- java eclipse 安卓环境配置
- (注意格式,代替C++的getchar())汉字统计hdu2030
- 使用TVTK库创建一个矩形视图
- 为什么你用不好Numpy的random函数?
- jquery validate使用笔记
- Hadoop 系列(一)基本概念
- python 常用的标准库及第三方库
- Gson全解析(下)-Gson性能分析
- hdu 3001 三进制状压