【 Gym - 101124E 】Dance Party (数学)
BUPT2017 wintertraining(15) #4G
Gym - 101124 E.Dance Party
题意
有c种颜色,每个颜色最多分配给两个人,有M个男士,F个女士,求至少一对男士同色的概率。
\((1 \le C, M, F \le 10^9; M + F \le 2C)\)
题解
反面比较好求的,也就是不存在男男同色的概率。
假设每个男士依次选择剩下的颜色,第一个人有2C种选择,当前不同色的概率是1,第二个人有2C-1种选择,当前不同色的概率是(2C-2)/(2C-1),第三个人有2C-2种选择,不同色的概率(2C-4)/(2C-2),...,于是得出公式
\[ans=1-\sum_{i=1}^{M-1}\frac {2C-2i}{2C-i}=1-\sum_{i=1}^{M-1}(1-\frac {i}{2C-i})
\]
且当M很大的时候,C一定更大,那么此时ans趋于1,数学证明我也不会,但是可以直观地想象一下,男士足够多的情况下要保证没有男男同色就不太可能了。我们只要及时跳出循环即可。
另外我推得一个公式是
\[\frac{C_{c}^{m}\cdot 2^m}{C_{2c}^{m}}
\]
代码
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;
int c,m,f;
double ans=1;
int main() {
scanf("%d%d%d",&c,&m,&f);
for(int i=1;i<m;i++){
ans*=(1-i*1./(2*c-i));
if(ans<1e-10)break;
}
printf("%.10f",1-ans);
return 0;
}
┆凉┆暖┆降┆等┆幸┆我┆我┆里┆将┆ ┆可┆有┆谦┆戮┆那┆ ┆大┆始┆ ┆然┆
┆薄┆一┆临┆你┆的┆还┆没┆ ┆来┆ ┆是┆来┆逊┆没┆些┆ ┆雁┆终┆ ┆而┆
┆ ┆暖┆ ┆如┆地┆站┆有┆ ┆也┆ ┆我┆ ┆的┆有┆精┆ ┆也┆没┆ ┆你┆
┆ ┆这┆ ┆试┆方┆在┆逃┆ ┆会┆ ┆在┆ ┆清┆来┆准┆ ┆没┆有┆ ┆没┆
┆ ┆生┆ ┆探┆ ┆最┆避┆ ┆在┆ ┆这┆ ┆晨┆ ┆的┆ ┆有┆来┆ ┆有┆
┆ ┆之┆ ┆般┆ ┆不┆ ┆ ┆这┆ ┆里┆ ┆没┆ ┆杀┆ ┆来┆ ┆ ┆来┆