题目链接:Card Game (Second Edition)
在概率论和统计学中,一个离散性随机变量的期望值(或数学期望、或均值,亦简称期望)是试验中每次可能结果的概率乘以其结果的总和。
期望 = 1*(b[]数组中小于a[i]的元素数量/n)+....+ 1*(b[]数组中小于a[n]的元素数量/n);
这里的1是每轮的结果,如果胖子赢了结果就为一,而 b[]数组中小于a[i]的元素数量/n 是当胖子抽到a[i]时赢的概率。
代码:
#include<stdio.h>
#include<string.h>
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int t,k=1,i,n;
int a[11000],b[11000];
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n;i++)
scanf("%d",&b[i]);
sort(b,b+n);
double ans=0;
for(i=0;i<n;i++)
{
ans+=upper_bound(b,b+n,a[i])-b;
}
printf("Case %d: %.2lf\n",k++,ans/n);
}
}