开始的时候我没有考虑1/2的概率,直接一波组合数,然后WA

后来去看题解发现我们可以反过来想,求最后两个人不一样的情况

这个时候肯定会抛到最后的

所以每一种可能就是(0.5)^(n - 2),然后一共有C(n-2,n/2-1)种

乘起来就ok了。

但是这样会超时而且结果太大

所以我们可以尝试递推

通过计算可以发现d[i+2] = d[i] * (i-1) / i

所以就递推出所有值然后直接输出就好了。

#include<cstdio>
#define REP(i, a, b) for(int i = (a); i < (b); i++)
using namespace std; const int MAXN = 112345;
double d[MAXN]; void init()
{
d[2] = 1.0;
REP(i, 2, MAXN)
d[i+2] = d[i] * (i-1) / i;
} int main()
{
init();
int T, n;
scanf("%d", &T);
while(T--)
{
scanf("%d", &n);
printf("%.4lf\n", 1 - d[n]);
}
return 0;
}

最新文章

  1. 构建最小的docker容器
  2. 转:给 C# 开发者的代码审查清单
  3. vs2008与windbg的使用
  4. About Closure
  5. Fbric、Ansible、Docker、Chaos Monkey:DevOps工具的年中回顾
  6. Zabbix探索:Discovery任务、进程以及占用率
  7. 普通pc电脑安装苹果系统mac_详细教程(精)附带所有工具下载
  8. Maven编译中的一些坑
  9. 在区块链侧链上进行Dapp技术开发
  10. ML.NET 示例:回归之价格预测
  11. 读取文件任意位置的内容——RandomAccessFile
  12. P2617 Dynamic Rankings(树状数组套主席树)
  13. QT入门系列(3):控制台输出QString
  14. Swift语言精要 - 浅谈代理模式(Delegate)
  15. 使用ASI传递post表单..参数是数组
  16. exception processing, template error resolving template
  17. echarts使用方法
  18. PSP DAILY的NABCD分析
  19. jqgrid 操作
  20. 团队第三次scrum

热门文章

  1. python 3.x 学习笔记12 (反射 and 异常)
  2. 005.JMS可靠性机制
  3. HTML&amp;CSS——使用DIV和CSS完成网站首页重构
  4. 忘记了本地mysql密码应该怎么找回
  5. jquery根据接口返回的值来设置asp:CheckBoxList的选中值
  6. 3ds Max实例教程:制作雪的材质
  7. (转)JVM内存管理-----堆内存
  8. 路飞学城Python-Day12(practise)
  9. apicloud 上传/更新App版本到 ios store 流程步骤
  10. [APIO2014]回文串(回文自动机)