首页 > 其他 > 详细

17国庆day2

时间:2017-10-03 19:18:37      阅读:326      评论:0      收藏:0      [点我收藏+]

 

Tournament Wins

 Gym - 101201K 

题意: 2^k个人,你排名第r, 问你期望能赢的次数.

至少赢 i 次的概率是 C(2^i-1, 2^k-r) / C(2^i-1, 2^k-1) ,化简一下

技术分享
 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 int k, r;
 4 
 5 int main() {
 6         scanf("%d %d", &k, &r);
 7         int m = (1<<k) - r;
 8         double ans = 0;
 9         int i;
10         for(i = 1; (1<<i)-1 <= m; i++){
11             double p = 1.0;
12            // int a = (1<<k) - (1<<i) + 2 - r;
13             //int c = (1<<k) - r + 1;
14             int a = (1<<k) - 1;
15             int c = (1<<k) - r;
16             for(int j = 0; j <(1<<i)-1 ; j++) {
17                 p = p*c/a;
18                 a--;
19                 c--;
20             }
21             ans += p;
22         }
23         printf("%.5lf\n", ans);
24 }
View Code

 

17国庆day2

原文:http://www.cnblogs.com/yijiull/p/7624266.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!