题目

Description
有两个队伍A和B,每个队伍都有n个人。这两支队伍之间进行n场1对1比赛,每一场都是由A中的一个选手与B中的一个选手对抗。同一个人不会参加多场比赛,每个人的对手都是随机而等概率的。例如A队有A1和A2两个人,B队有B1和B2两个人,那么(A1 vs B1,A2 vs B2)和(A1 vs B2,A2 vs B1)的概率都是均等的50%。
每个选手都有一个非负的实力值。如果实力值为X和Y的选手对抗,那么实力值较强的选手所在的队伍将会获得(X-Y)^2的得分。
求A的得分减B的得分的期望值。

Input
第一行一个数n表示两队的人数为n。
第二行n个数,第i个数A[i]表示队伍A的第i个人的实力值。
第三行n个数,第i个数B[i]表示队伍B的第i个人的实力值。

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


解题思路

将b排序,每次二分找第一个大于等于aia_{i}ai​的数,完全平方公式,相信大家都会吧,用前缀和处理一下平方和之类的即可。


代码

#include<cstdio>
#include<algorithm>
#include<cstring>
#define rr register
using namespace std;
int n; double a[50010],b[50010],ans,q[50010],w[50010],s;
double qw(double x){return x*x;}
int main(){scanf("%d",&n); for (int i=1;i<=n;i++) scanf("%lf",&a[i]); for (int i=1;i<=n;i++) scanf("%lf",&b[i]); sort(b+1,b+n+1); for (int i=1;i<=n;i++)q[i]=q[i-1]+qw(b[i]),w[i]=w[i-1]+b[i]; for (int i=1;i<=n;i++) {int d=(lower_bound(b+1,b+n+1,a[i])-b)-1; s=qw(a[i])*(2*d-n)+q[d]*2-q[n]-2*(w[d]*2-w[n])*a[i];ans+=s/(double)n; }printf("%.1lf",ans);
}

[jzoj 3055] 比赛 {期望dp}相关推荐

  1. 2019.3.8 提高B组 T2 JZOJ 3055 比赛

    DescirptionDescirptionDescirption 有两个队伍A和B,每个队伍都有n个人.这两支队伍之间进行n场1对1比赛,每一场都是由A中的一个选手与B中的一个选手对抗.同一个人不会 ...

  2. [Jzoj] 3055.比赛

    题目大意 有两个队伍AAA和BBB,每个队伍都有nnn个人. 这两支队伍之间进行nnn场111对111比赛,每一场都是由AAA中的一个选手与BBB中的一个选手对抗.同一个人不会参加多场比赛,每个人的对 ...

  3. 插头DP 概率DP / 期望DP

    插头DP && 概率DP / 期望DP 写在前面: 插头DP P5056 [模板]插头dp 手写哈希表的方法: 拉链法的代码如下: 开放寻址法的代码如下: 接下来是这道题的代码实现: ...

  4. HDU 6656 Kejin Player (期望DP 逆元)

    2019 杭电多校 7 1011 题目链接:HDU 6656 比赛链接:2019 Multi-University Training Contest 7 Problem Description Cub ...

  5. luogu P4745 [CERC2017]Gambling Guide(期望DP + 最短路实现)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 P4745 [CERC2017]Gambling Guide(期望DP + 最短路实现) Weblin ...

  6. [SCOI2008]奖励关(期望dp)

    你正在玩你最喜欢的电子游戏,并且刚刚进入一个奖励关.在这个奖励关里,系统将依次随机抛出k次宝物,每次你都可以选择吃或者不吃(必须在抛出下一个宝物之前做出选择,且现在决定不吃的宝物以后也不能再吃). 宝 ...

  7. 【bzoj4318】OSU! 期望dp

    题目描述 osu 是一款群众喜闻乐见的休闲软件.  我们可以把osu的规则简化与改编成以下的样子:  一共有n次操作,每次操作只有成功与失败之分,成功对应1,失败对应0,n次操作对应为1个长度为n的0 ...

  8. 【loj6342】跳一跳 期望dp

    题目描述 一个人从 $1$ 开始向 $n$ 跳,在 $i$ 时会等概率跳到 $i,i+1,...,n$ 之一.求从 $1$ 跳到 $n$ 的期望步数. $n\le 10^7$ . 题解 期望dp傻逼题 ...

  9. 【高斯消元】兼 【期望dp】例题

    [总览] 高斯消元基本思想是将方程式的系数和常数化为矩阵,通过将矩阵通过行变换成为阶梯状(三角形),然后从小往上逐一求解. 如:$3X_1 + 2X_2 + 1X_3 = 3$ $           ...

最新文章

  1. php+JQuery+Ajax简单实现页面异步刷新 (转)
  2. jquery学习(六)-jquery中的动画
  3. python处理表格-python如何处理表格?
  4. 以python入门教程新世界-Python打开新世界的大门-入门篇1
  5. 操作系统:第四章 文件管理1 - 文件逻辑结构,物理结构,文件目录,软硬连接,文件系统
  6. 70进货卖100利润是多少_一只周黑鸭随便就卖100多,那成本有多少?说出来你可能不信...
  7. js调用ajax案例2,使用ok
  8. 项目的权限设计的小计
  9. CodeVS 1031 质数环(DP)
  10. vue项目打包,生成dist文件夹,如何修改文件夹的名字
  11. windows开启远程桌面命令
  12. PickerView的简单介绍
  13. 微信公众号迁移公证书办理流程
  14. opnelayers 基于ImageCanvas,简单云层图
  15. linux窗口死,Linux系统入门学习:Linux 上 Wireshark 界面僵死解决
  16. hp 交换机远程连接_Hp服务器 iLO3 使用方法
  17. latex显示错误:Text line contains an invalid character. l.1
  18. 融360|简普科技《维度》报告:超过三成受访者遇过理财投资陷阱 90后受害最深
  19. linux的ping命令含义,Linux ping命令详解
  20. 堆与栈区别,以及分配内存的快慢

热门文章

  1. 亿万富翁神奇公式:年存1.4万四十年变1亿
  2. GARCH模型案例分析
  3. bzoj3398 [Usaco2009 Feb]Bullcow 牡牛和牝牛
  4. csdn的markdown编辑器如何保持图片原始大小?
  5. printf 输出多行字符串
  6. 抽象代数之群同态基本定理的证明之群同态的核是群G的正规子群
  7. depot_tools在windows上用遇到的问题和RTC编译出错
  8. redhat 7.3 ppc64le环境安装Keepalived及遇到问题
  9. 《人力资源管理概论》
  10. 基于JavaScript的简易计算器(可处理连续加减乘除运算)