题目链接:

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 ;
}

最新文章

  1. 动手做第一个Chrome插件
  2. CentOS 6.7下利用Rsyslog+LogAnalyzer+MySQL部署日志服务器
  3. href的那些事
  4. 【poj3084】 Panic Room
  5. 注意kvm在安装虚机的时候不能把存放虚机的文件放在/root 下面
  6. 使用vim 查看二进制文件
  7. C# 编码约定(C# 编程指南)
  8. POJ2528 线段树的区间操作
  9. open Session In View模式
  10. samba安装与配置
  11. 2017年最好的6个WEB前端开发手册下载
  12. InnoDB页压缩技术
  13. jsp 自定义标签解决jsp页面中int时间戳的时间格式化问题
  14. Android 进程保活招式大全(转载)
  15. android控件跟随手势滑动改变位置
  16. 三、vue脚手架工具vue-cli的使用
  17. [转]快速搞懂Gson的用法
  18. Eclipse cdt debug时‘Error while launching command: gdb.exe --version’
  19. Linux必备命令
  20. kubectl get 输出格式

热门文章

  1. ado.net中的 sqlconnection sqlcommand datareader dataset SqlDataAdapter之间的关系
  2. Action、View、ActionResult、ViewResult、ContentResult
  3. C# 之多线程(二)
  4. fieldset、legend、display html元素
  5. 961 -尺寸2N阵列中的N重复元素
  6. 自定义经纬度索引(非RTree、Morton Code[z order curve]、Geohash的方式)
  7. MySQL Metadata
  8. LOJ572: Misaka Network 与求和
  9. String对象内存分析
  10. EventTarge Node Docuement Element HTMLElement 关系