zoukankan      html  css  js  c++  java
  • JZOJ 3055. 【NOIP2012模拟10.27】比赛

    题目

    Description

     


    有两个队伍AB,每个队伍都有n个人。这两支队伍之间进行n11比赛,每一场都是由A中的一个选手与B中的一个选手对抗。同一个人不会参加多场比赛,每个人的对手都是随机而等概率的。例如A队有A1A2两个人,B队有B1B2两个人,那么(A1 vs B1,A2 vs B2)(A1 vs B2,A2 vs B1)的概率都是均等的50%


    每个选手都有一个非负的实力值。如果实力值为XY的选手对抗,那么实力值较强的选手所在的队伍将会获得(X-Y)^2的得分。


    A的得分减B的得分的期望值。



     

    Input

     


    第一行一个数n表示两队的人数为n


    第二行n个数,第i个数A[i]表示队伍A的第i个人的实力值。


    第三行n个数,第i个数B[i]表示队伍B的第i个人的实力值。


     



    Output

     


    输出仅包含一个实数表示A期望赢B多少分。答案保留到小数点后一位(注意精度)。



     

    Sample Input

    2
    3 7
    1 5

    Sample Output

    20.0
     

    Data Constraint

     
     

    Hint

     


    对于30%的数据,n50


    对于100%.,n50000;A[i],B[i]50000

     

    分析

        利用公式算出每个人的期望  

       显然任意两个人相遇的概率是相等的,=两人第一场相遇的概率+两人第一场不相遇的概率*两人第二场相遇的概率+……。

     

    代码

     1 #include<iostream>
     2 #include<algorithm>
     3 #include<cstdio>
     4 using namespace std;
     5 long long a[100001],b[101001],sum[100001],summ[100001];
     6 long long ans=0,cs;
     7 int n;
     8 int main ()
     9 {
    10     
    11     cin>>n;
    12     for (int i=1;i<=n;i++)
    13         cin>>a[i];
    14     for (int i=1;i<=n;i++)
    15         cin>>b[i];
    16     sort(a+1,a+1+n);
    17     sort(b+1,b+1+n);
    18     for (int i=1;i<=n;i++)
    19     {
    20         sum[i]=sum[i-1]+b[i];
    21         summ[i]=summ[i-1]+b[i]*b[i];
    22     }
    23     long long j=0;
    24     for (int i=1;i<=n;i++)
    25     {
    26         while (a[i]>b[j]&&j<=n) j++;
    27         ans+=(j-1)*a[i]*a[i]-2*a[i]*sum[j-1]+summ[j-1];
    28         ans-=((n-j+1)*a[i]*a[i]-2*a[i]*(sum[n]-sum[j-1])+summ[n]-summ[j-1]);
    29     }
    30     double s=(double)(ans)/(double)(n);
    31     printf("%.1f",s);
    32 }

     

    为何要逼自己长大,去闯不该闯的荒唐
  • 相关阅读:
    debian配置apache2.4配置虚拟主机遇到的问题
    Javascript关于attachEvent和addEventListener区别与兼容写法
    图解linux下top命令的使用
    idea报错:java 不支持发行版本5
    java-访问权限
    IDEA图标含义
    IDEA生成UML类图
    idea快捷键
    idea同时运行两个main()
    idea关闭vim编辑模式
  • 原文地址:https://www.cnblogs.com/zjzjzj/p/10500550.html
Copyright © 2011-2022 走看看