UVA 10217 A Dinner with Schwarzenegger!!!---数学
2024-08-24 08:19:19
题目链接:
https://cn.vjudge.net/problem/UVA-10217
题目大意:
有若干人排队买电影票,如果某个人的生日与排在他前面的某个人的生日相同,那么他讲中奖。中奖的机会只有一个,给所有中奖者中排在最前面的那一位。排在第一位的人如果与买票者的生日相同,那么他将中奖。如果一年有N天,求排在什么位置的中奖概率最大,和理论上的最佳实数位置。
解题思路:
f[1] = 1/n;
f[2] = (n-1)/n * 1/n;
...
f[i] = (n-1)/n * (n-1)/n * (n-2)/n * ... * (n-i+2)/n * (i-1)/n;
f[i+1] = (n-1)/n * (n-1)/n * (n-2)/n * ... * (n-i+1)/n * i/n;
所以f[i]/f[i+1] = (i-1)*n/[(n-i+1)*i]令其<=1解得:
(1-sqrt(4*n+1)) / 2 <= i <= (1+sqrt(4*n+1)) / 2;
故最佳整数位置为ceil((1+sqrt(4*n+1)) / 2),最佳实数位置根据样例来看是(-1+sqrt(4*n+1)) / 2。
#include<cstdio>
#include<math.h> int n;
int main(){
while(~scanf("%d",&n)){
double ans = (-1.0+sqrt(1.0 + 4.0*n)) / 2.0;
int res = ans+1.0;
printf("%.2lf %d\n",ans,res);
}
return ;
}
最新文章
- 动手做第一个Chrome插件
- CentOS 6.7下利用Rsyslog+LogAnalyzer+MySQL部署日志服务器
- href的那些事
- 【poj3084】 Panic Room
- 注意kvm在安装虚机的时候不能把存放虚机的文件放在/root 下面
- 使用vim 查看二进制文件
- C# 编码约定(C# 编程指南)
- POJ2528 线段树的区间操作
- open Session In View模式
- samba安装与配置
- 2017年最好的6个WEB前端开发手册下载
- InnoDB页压缩技术
- jsp 自定义标签解决jsp页面中int时间戳的时间格式化问题
- Android 进程保活招式大全(转载)
- android控件跟随手势滑动改变位置
- 三、vue脚手架工具vue-cli的使用
- [转]快速搞懂Gson的用法
- Eclipse cdt debug时‘Error while launching command: gdb.exe --version’
- Linux必备命令
- kubectl get 输出格式
热门文章
- ado.net中的 sqlconnection sqlcommand datareader dataset SqlDataAdapter之间的关系
- Action、View、ActionResult、ViewResult、ContentResult
- C# 之多线程(二)
- fieldset、legend、display html元素
- 961 -尺寸2N阵列中的N重复元素
- 自定义经纬度索引(非RTree、Morton Code[z order curve]、Geohash的方式)
- MySQL Metadata
- LOJ572: Misaka Network 与求和
- String对象内存分析
- EventTarge Node Docuement Element HTMLElement 关系