紫书 习题 10-12 UVa 557(概率计算)
2024-10-01 13:37:06
开始的时候我没有考虑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;
}
最新文章
- 构建最小的docker容器
- 转:给 C# 开发者的代码审查清单
- vs2008与windbg的使用
- About Closure
- Fbric、Ansible、Docker、Chaos Monkey:DevOps工具的年中回顾
- Zabbix探索:Discovery任务、进程以及占用率
- 普通pc电脑安装苹果系统mac_详细教程(精)附带所有工具下载
- Maven编译中的一些坑
- 在区块链侧链上进行Dapp技术开发
- ML.NET 示例:回归之价格预测
- 读取文件任意位置的内容——RandomAccessFile
- P2617 Dynamic Rankings(树状数组套主席树)
- QT入门系列(3):控制台输出QString
- Swift语言精要 - 浅谈代理模式(Delegate)
- 使用ASI传递post表单..参数是数组
- exception processing, template error resolving template
- echarts使用方法
- PSP DAILY的NABCD分析
- jqgrid 操作
- 团队第三次scrum
热门文章
- python 3.x 学习笔记12 (反射 and 异常)
- 005.JMS可靠性机制
- HTML&;CSS——使用DIV和CSS完成网站首页重构
- 忘记了本地mysql密码应该怎么找回
- jquery根据接口返回的值来设置asp:CheckBoxList的选中值
- 3ds Max实例教程:制作雪的材质
- (转)JVM内存管理-----堆内存
- 路飞学城Python-Day12(practise)
- apicloud 上传/更新App版本到 ios store 流程步骤
- [APIO2014]回文串(回文自动机)