Codeforces 107B Basketball Team 简单概率
来源:互联网 发布:淘宝怎么提高浏览量 编辑:程序博客网 时间:2024/06/05 00:59
题目链接:点击打开链接
题意:
给定n m h
表示有m个部门,有个人现在在部门h
下面m个数字表示每个部门的人数。(包括他自己)
在这些人中随机挑选n个人,问挑出的人中存在和这个人同部门的概率是多少。
这个人一定在挑出的n个人中。
反向思考。答案是 1 - 不可能概率
不可能概率 = C(n-1, sum-1-a[h]) / C(n-1, sum-1)
发现2个组合数的分母部分相同,所以只需要把2个组合数的分子部分相除即可。
#include <cstdio>#include <iostream>#include <algorithm>#include <string.h>#include <map>#include <set>using namespace std;#define N 10010int n, m, h, a[N];void solve(){ int sum = 0; for(int i = 1; i <= m; i++) scanf("%d",&a[i]), sum += a[i]; if(sum < n){ puts("-1");return ; } n--; sum--; a[h]--; if(sum - a[h] < n){puts("1");return;} double ans = 1.0; double x = sum-a[h], y = sum; for(int i = 1; i <= n; i++) { ans *= x / y; x--; y--; } printf("%.10f\n", 1.0 - ans);}int main(){ while(~scanf("%d %d %d",&n,&m,&h)){ solve(); } return 0;}
2 3
- Codeforces 107B Basketball Team 简单概率
- codeforces 107B B. Basketball Team(概率)
- codeforces 107B(Basketball Team) 组合+概率 Java
- codeforces 107B Basketball Team
- CF 107B Basketball Team [排列组合]
- Codeforces 570B Simple Game 概率求解,简单数学思维
- codeforces Vasya and Basketball
- codeforces#235_div2_C Team 简单构造
- Codeforces 444B DZY Loves FFT(概率)
- CodeForces 570B Simple Game 概率
- Codeforces 570 B. Simple Game ( 概率 )
- Codeforces 696B 树形dp,概率
- codeforces 696B 树形dp+概率
- [POJ2238]Computer Basketball Game && 概率DP
- Codeforces Round #320 (Div. 2)B. Finding Team Member
- Codeforces Round #320 (Div. 2) B - Finding Team Member
- Codeforces Round #320 (Div. 2) B. Finding Team Member
- Codeforces Round #320 (Div. 2) 579B Finding Team Member
- maven警告:com.sun.image.codec.jpeg.JPEGCodec 是 Sun 的专用 API,可能会在未来版本中删除
- Linux环境下的Socket编程
- Pig安装及简单实例
- 2014华为上机试题
- 内存管理技巧:如何避免JavaScript的内存泄露
- Codeforces 107B Basketball Team 简单概率
- SeLinux与Vsftp 的关系!
- Solution to S-99 ( P01 ~ P05 )
- 在VMware10中安装Ubuntu14.04LTS并开启主机文件共享
- Linux: libgcc_s.so.1 must be installed for pthread_cancel to work
- JS中自定义定时器
- 如何越狱苹果TV2在iOS 4.2使用PwnageTool
- 十大算法(二)
- 简单socket连接,tcp,备用