JZOJ 3055. 【NOIP2012模拟10.27】比赛
题目
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多少分。答案保留到小数点后一位(注意精度)。
Sample Input
2 3 7 1 5
Sample Output
20.0
Data Constraint
Hint
对于30%的数据,n≤50。
对于100%的.据,n≤50000;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 }
转载于:https://www.cnblogs.com/zjzjzj/p/10500550.html
JZOJ 3055. 【NOIP2012模拟10.27】比赛相关推荐
- jzoj3058. 【NOIP2012模拟10.26】火炬手
jzoj3058. [NOIP2012模拟10.26]火炬手 题目 Description Input Output Sample Input Sample Output Hint 分析 做法一 做法 ...
- jzoj 3058. 【NOIP2012模拟10.26】火炬手
Description 全运会就要开始了,笨笨想成为湖南地区的火炬手,经过层层选拔,最终到了最后一关,这一关给出了一个正整数n(N<=100000),求一个最小的正整数m,使得n*m的十进制表示 ...
- JZOJ 5931. 【NOIP2018模拟10.27】冒泡排序
Description 题目背景 冒泡排序的交换次数被定义为交换过程的执行次数. 题面描述 小 S 开始专注于研究⻓度为 n 的排列,他想知道,在你运气足够好的情况下(即每次冒泡排序的交换次数都是可能 ...
- JZOJ 5933. 【NOIP2018模拟10.27】百鸽笼
Description Input 从文件 pigeon.in 中读入数据. 输入第一行包含两个正整数 n, m ,分别表示初始鸽笼数与操作个数. 第二行包含 n 个正整数,第 i 个数表示从左往右第 ...
- JZOJ 5932. 【NOIP2018模拟10.27】情报中心
Description 题目背景 .飞纷火战来年近国 D 和国 C .飞乱子鸽来年近国 D 和国 C 题面描述 最近,C 国成功地渗透进入了 D 国的一个城市.这个城市可以抽象成一张有 n 个节点,节 ...
- JZOJ 3057. 【NOIP2012模拟10.26】电影票
.. 分析: 代码: 分析: 我们通过找规律,可以得知答案为: 但我们直接通过高精度计算的话铁定TTT飞 所以我们将式子带入其中,就会发现分母和分子是可以约分的!并且分母可以被约掉 所以我们可以创建两 ...
- 【JZOJ B组】【NOIP2015模拟10.27】魔道研究
Description "我希望能使用更多的魔法.不对,是预定能使用啦.最终我要被大家称呼为大魔法使.为此我决定不惜一切努力." --<The Grimoire of Mar ...
- JZOJ 3053 【NOIP2012模拟10.25】旅行
旅行 题目大意 给定一个 n n行mm列的字符矩阵, 告诉你哪些格子可以进入,哪些不可以.移动的规则为:每秒钟以上下左右四个方向之一移动一格,不能进入障碍. 计算:在空地中随机选择起点和终点(可以重合 ...
- 4270. 【NOIP2015模拟10.27】魔道研究
Description "我希望能使用更多的魔法.不对,是预定能使用啦.最终我要被大家称呼为大魔法使.为此我决定不惜一切努力." --<The Grimoire of Mar ...
- [NOIP2015模拟10.27] [JZOJ4270] 魔道研究 解题报告(动态开点+权值线段树上二分)
Description "我希望能使用更多的魔法.不对,是预定能使用啦.最终我要被大家称呼为大魔法使.为此我决定不惜一切努力." --<The Grimoire of Mar ...
最新文章
- linux 根目录下的子目录的意义
- ASP.NET中AJAX的UpdatePannel控件的用法
- 你到底有几个邮箱?码云账号增加多邮箱支持!
- 网易云信助春招上“云” ,疫情过后线上招聘或成常态
- 值得学习练手的22个Python迷你程序(附代码)
- Oracle入门(十四F)之PL/SQL定义变量
- C# 将PDF转为Excel
- 盘点IT中最热门的岗位,有你工作的岗位吗?
- 修改Chrome默认搜索引擎为Google.com
- 该虚拟机似乎正在使用中。 如果该虚拟机未在使用,请按“获取所有权(T)”按钮获取它的所有权。否则,请按“取消(C)”按钮以防损坏。 配置文件: D:\instractPath\Developmen
- 注册(四)之删除绑定
- 王庆的边缘计算(第三章)
- 家长进课堂 计算机ppt,家长进课堂之中华传统美德 成品ppt 三井小学一10班出品.ppt...
- 推荐几个值得关注的微信公众号
- opencv 应用程序无法正常启动0xc000007b
- ad room 拷贝
- Pinia的写法探索
- IDM下载器下载百度网盘文件
- python计算营业额代码_python计算营业额的代码_python 统计代码行数简单实例
- 晚明最后的辉煌-朝鲜之役
热门文章
- mysql悲观锁优化_MySQL事务及实现、隔离级别及锁与优化
- Javascript内置对象之Date对象与HTML BOM
- 调度 Cmax和∑Ci是什么区别
- DevOps使用教程 华为云(11)git分支怎么用 分支合并 评审
- 计算机上已安装某个第三方应用程序,防止电脑第三方软件“被”安装 3招彻底屏蔽不明软件...
- 生成检测报告在哪_惠检LIMS系统在材料检测行业的应用
- 微型计算机原理及应用论文,微型计算机原理及应用7030112997-TP19300101.pdf
- 7c盘满了怎么扩容_C盘爆满怎么办?扩容!
- c语言课程建设与改革,C语言程序设计课程教学改革的研究与实践
- em在聊天中是什么意思_被神化的EM菌,该怎样正确使用?