题目

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. e.V4p.C0/index.php,php-fpm进程在Kubernetes中接收SIGKILL信号
  2. SGI STL 内存分配方式及malloc底层实现分析
  3. Configure NFS Server On AIX 6.1
  4. Visual Studio registry capture utility 已停止工作的解决办法
  5. Radware:安全信息的传送可以加速网络攻击的防御
  6. 微软加入反 Flash 阵营,新版 Edge 默认屏蔽 Flash
  7. postgresql 修改表字段_关于一些postgresql特有的概念以及安装方法的叙述
  8. 如何看oracle 删除完全,怎么查看以前Oracle卸载干净没?
  9. s905各种型号的区别_索尼PSC和晶晨S905电视盒子多平台游戏机改造
  10. emlog海报生成插件
  11. 三方支付之支付宝支付实现逻辑
  12. 蜂巢BeeconX|大型美容医院如何构建WiFi系统?
  13. 大数据工程师的日常工作是什么?要掌握哪些核心技术?
  14. 高德地图宣布品牌升级,打造出门好生活开放服务平台
  15. 权威发布丨2022 中国开源先锋 33 人之心尖上的开源人物
  16. java笔试 https://blog.csdn.net/zhugewendu/article/details/72852033
  17. java 多线程 数据重复,java 多线程 出现数据重复调用有关问题
  18. 手把手教你怎么批量压缩视频文件
  19. IPv6下的DHCPv6
  20. java xmpp协议_GitHub - zhengzhi530/xmpp: 基于Xmpp协议的即时通讯社交软件(客户端+服务端)...

热门文章

  1. oracle 11g rac suse,suse linux 11 + 多路径+udev+oracle11g rac
  2. 加入至善林合种两个月领蚂蚁森林证书又多又快
  3. Zookeeper Leader选举 源码中,发送投票,统计投票的不解
  4. 数据库——mysql和sqlyog
  5. 程序全过程:觉醒(序)
  6. shell去掉输出的末尾换行符
  7. 倩女手游经验计算机,倩女幽魂手游怎么快速升级 新手升级攻略详解
  8. Codeforces Round #252 (Div. 2)-C,D
  9. Spring Cloud的熔断器
  10. 知识图谱在金融领域的应用