题目链接:http://codeforces.com/gym/101201

/*
* @Author: lyucheng
* @Date: 2017-10-22 14:38:52
* @Last Modified by: lyucheng
* @Last Modified time: 2017-10-22 16:37:43
*/
/*
* 题意:2^k次方个人两两进行淘汰赛,排名高的人一定能胜过排名低的人,问你排名r的人的胜场期望
*
* 思路:首先,如果r想赢i场的话那么一定要和2^i - 1个人在一个赛程二叉树中,所以r最多能赢的场次
* 就是(int)log2(2^k-r+1),也就是r和比他弱的人最大能组成的二叉树的深度,所以r能赢i场的概率
* 就是 C(2^k - r,2^i - 1) / C(2^k - 1, 2^i - 1)就是从比他弱的人里面选出2^i - 1个人数情况
* 除以从剩下的2^k - 1个人里选出 2^i - 1个人的情况,这只是前i场赢的概率,我们处理出来赢0~最
* 大场次的所有概率,就可以从最大场次向最低场次处理得出来所有准确能赢场数的概率,最后的期望
* 就是 ∑(准确能赢i场的概率(第i+1场一定输)*i
* */
#include <bits/stdc++.h> #define MAXN (1<<20) using namespace std; int k,r;
int n;
double f[MAXN];
int tol;
double cur[MAXN];
double need;
double res; double cal(int n,int m){
return f[n]-f[m];
} inline void init(){
memset(f,,sizeof f);
for(int i=;i<MAXN;i++)
f[i]=f[i-]+log(i);
res=;
} int main(){
// freopen("in.txt","r",stdin);
init();
scanf("%d%d",&k,&r);
n=(<<k);
tol=(int)(log(n-r+)/log());
for(int i=;i<=tol;i++){
need=(<<i);
cur[i]=exp(cal(n-need,n-need-(r-))-cal(n-,n-r));
}
double last=;
for(int i=tol;i>=;i--){
res+=(cur[i]-last)*i;
last+=(cur[i]-last);
}
printf("%.5f\n",res);
}

2016-2017 ACM-ICPC Pacific Northwest Regional Contest (Div. 1) K Tournament Wins的更多相关文章

  1. 2018 ICPC Pacific Northwest Regional Contest I-Inversions 题解

    题目链接: 2018 ICPC Pacific Northwest Regional Contest - I-Inversions 题意 给出一个长度为\(n\)的序列,其中的数字介于0-k之间,为0 ...

  2. 2018-2019 ACM-ICPC Pacific Northwest Regional Contest (Div. 1)

    2018-2019 ACM-ICPC Pacific Northwest Regional Contest (Div. 1) 思路: A Exam 思路:水题 代码: #include<bits ...

  3. 2016-2017 ACM-ICPC Pacific Northwest Regional Contest (Div. 1) Solution

    A:Alphabet Solved. 签. #include<bits/stdc++.h> using namespace std; ]; ]; int main(){ scanf(); ...

  4. Contest Setting 2018 ICPC Pacific Northwest Regional Contest dp

    题目:https://vj.69fa.cn/12703be72f729288b4cced17e2501850?v=1552995458 dp这个题目网上说是dp+离散化这个题目要对这些数字先处理然后进 ...

  5. 2015-2016 ACM-ICPC Pacific Northwest Regional Contest (Div. 2) S Surf

    SurfNow that you've come to Florida and taken up surng, you love it! Of course, you've realized that ...

  6. 2016-2017 ACM-ICPC Pacific Northwest Regional Contest (Div. 2) 题解

    [题目链接] A - Alphabet 最长公共子序列.保留最长公共子序列,剩余的删除或者补足即可. #include <bits/stdc++.h> using namespace st ...

  7. 2018-2019 ACM-ICPC Pacific Northwest Regional Contest (Div. 1) Solution

    A:Exam Solved. 温暖的签. #include<bits/stdc++.h> using namespace std; ; int k; char str1[maxn], st ...

  8. 2017-2018 ACM-ICPC Pacific Northwest Regional Contest (Div. 1)

    A. Odd Palindrome 所有回文子串长度都是奇数等价于不存在长度为$2$的偶回文子串,即相邻两个字符都不同. #include<cstdio> #include<cstr ...

  9. 2017-2018 ACM-ICPC Pacific Northwest Regional Contest (Div. 1) B - Enlarging Enthusiasm dp好题

    B - Enlarging Enthusiasm 感觉做到过好多的dp题都会和单调性结合在一起. 思路:dp[ s ][ pre ][ res ] 表示的是已选择了s,上一个是pre, 还有res 的 ...

随机推荐

  1. R中一切都是vector

    0.可以说R语言中一切结构体的基础是vector! R中一切都是vector,vecotor的每个component必须类型一致(character,numeric,integer....)!vect ...

  2. Makefile 开发环境全能管家

    变量的应用: CC=gcc RM=rm EXE=main.exe OBJS=目标 伪目标的应用: .PHONY:clean 自动变量的应用: $@:表示一个规则的目标 $^:表示的是规则中的所有的先决 ...

  3. c#换ip代理源码

    很多朋友都想如何提高自己的网站流量,可是都没有什么好的办法 经过很长时间的研究,在C#中实现了,当然了,这部分代码其中一部分是网上的,不是原创. using System; using System. ...

  4. 加解密算法二:非对称加解密及RSA算法的实现

    加密和解密使用不同的密钥的一类加密算法.这类加密算法通常有两个密钥A和B,使用密钥A加密数据得到的密文,只有密钥B可以进行解密操作(即使密钥A也无法解密):相反,使用密钥B加密数据得到的密文,只有密钥 ...

  5. JDK版本过高,导致Eclipse报错

    1.JDK版本如果比较高,而使用的eclipse版本比较低,导致在eclispe中不能识别而报错.   2.点击Attach Source添加rt.jar后,又出现如下错误 3.这样的错误就是由于ec ...

  6. How to use dt.Rows.Cast&lt;System.Data.DataRow&gt;().Take(n)

    参考文章:http://stackoverflow.com/questions/2787458/how-to-select-top-n-rows-from-a-datatable-dataview-i ...

  7. tensorflow安装相关的

    1 Install pip and Virtualenv sudo apt-get install python-pip python-dev python-virtualenv2 Create a ...

  8. Linux每天一个命令:iostat

    iostat用于输出CPU和磁盘I/O相关的统计信息 安装Sysstat工具包 centos: yum install sysstat ubuntu: sudo apt-get install sys ...

  9. 【java】switch case支持的6种数据类型

    switch表达式后面的数据类型只能是byte,short,char,int四种整形类型,枚举类型和java.lang.String类型(从java 7才允许),不能是boolean类型. 在网上看到 ...

  10. Spring Cloud Eureka 学习记录

    SpringCloud版本 <groupId>org.springframework.cloud</groupId> <artifactId>spring-clou ...