时间限制 : - MS   空间限制 : - KB 
评测说明 : 1s,256m
问题描述

某校有n只信竞队伍,队伍编号1到n,每只队伍都有一定数量的队员,队伍中每个人都有一个CF积分,积分越高,意味着竞技水平越高。
有时候队伍间会举行一场对抗赛,对抗赛由两只队伍参赛,老师在参赛的每只队伍中都随机挑选一个队员出来,然后两个人打一场CF比赛,众所周知,CF积分高的那一位选手一定会获胜。如果参赛选手的CF积分相同,则两人获胜的概率相同。
现在老师向你提出了一些询问,如果X和Y号队伍进行对抗,获胜队员的CF积分的期望值是多少?

输入格式

第一行,一个整数N
接下来N行,其中第i行,第一个整数Ci,表示i号队伍的队员数量,接下来Ci个整数,表示这只队伍每个队员的CF积分。
接下一行,一个整数M,表示询问数量
接下来M行,每行两个整数X和Y,表示一场对抗赛参赛队伍的编号。

输出格式

M行,每行一个整数,对应一次询问的答案,保留4个小数位。

样例输入


3 1 2 3 
3 1 2 3 
1 4 

1 2 
1 3

样例输出

2.4444 
4.0000

提示

样例解释:
对于第一个查询,可能的对抗情况是 (1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3)。
每种对抗发生的概率都是1/9 ,每种对抗获胜的者的CF积分分别时1,2,3,2,2,3,3,3,3
这样期望就是 (1+2+3+2+2+3+3+3+3)/9 = 22/9
第二个查询:不管怎么对抗都是CF积分为4的队员获胜。
数据范围: 设T表示信竞队员的总人数。
对于10%的数据:Ci=1
对于30%的数据:T<=100,M<=100
对于60%的数据:T<=2500,M<=5000
对于100%的数据:T<=40000,M<=40000, Ci>0, 0<=CF积分<=1000000

【题目分析】

对于 c[i]=1 的部分分,答案就等于两者的较大值
对于 T<=100 的部分分,枚举两个队伍里的每一对人,计算答案,复杂度 O(m T^2)
对于 T<=2500 的部分分,把每个队伍里的人排序,并计算 CF 积分的后缀和,枚举一个队伍
里被选出的人,在另一个队伍里二分出第一个比这个人大的人,利用之前计算的后缀平均值
得出答案
对于满分做法,我们考虑对上一个算法进行优化,枚举的时候一定枚举人数比较少的那个队
伍,那么如果人数比较少的队伍人数小于√T 个,则这部分单次询问复杂度不超过
√T*log T,如果两个队伍人数都大于 √T 个,因为人数大于√T 的队伍最多有√T 个,
如果我们对于已经做过的询问记住答案,再次询问时直接输出,那么最坏对于每个人数大于
√T 的队伍我们在枚举每个人的时候都要对这个队伍二分一次,那么这部分的总共复杂度
不会超过 O(T*√T*log T)
总复杂度 O(T*√T*log T)(假设 m 与 T 同阶)
/*
队伍 A: 4, 6, 8, 10
队伍 B: 1, 3, 6, 7, 9
总共可能有 4*5=20 场比赛
选人数少的 A 对出来讨论:
对于 4: 二分查找 B, 大于 4 的第一个数为 6, 5 场获胜选手积分分别是(4,4,6,7,9)
即 4*2+(6+7+9)
对于 7: 二分查找 B, 大于 6 的第一个数为 7, 5 场获胜选手积分分别是(6,6,6,7,9)
即 6*3+(7+9)
对于 8: 二分查找 B, 大于 8 的第一个数为 9, 5 场获胜选手积分分别是(8,8,8,8,9)
即 8*4+9
对于 10: 二分查找 B, 大于 10 的第一个数不存在, 5 场获胜选手积分分别是(10,10,10,10,10)
即 10*5
获胜选手的期望积分:
(4*2+(6+7+9)+ 6*3+(7+9)+ 8*4+9+10*5)/20
*/

【参考代码】

C 对抗赛的更多相关文章

  1. Contest2073 - 湖南多校对抗赛(2015.04.06)

    Contest2073 - 湖南多校对抗赛(2015.04.06) Problem A: (More) Multiplication Time Limit: 1 Sec  Memory Limit:  ...

  2. Contest2071 - 湖南多校对抗赛(2015.03.28)

    Contest2071 - 湖南多校对抗赛(2015.03.28) 本次比赛试题由湖南大学ACM校队原创 http://acm.csu.edu.cn/OnlineJudge/contest.php?c ...

  3. ACM对抗赛有感

    2022.2.22 一个有"爱"的日子,注定不会平凡(对于24oier来说),原因是gg让我们参加与大连理工大学的对抗赛. 为此队友都准备好各种板子,上了比赛才发现根本没有 可怜了 ...

  4. 湖南多校对抗赛(2015.05.03)Problem A: Twenty-four point

    给四个数 问能不能算出24点...我的方法比较烂...920ms 差点TLE.应该有更好的方法. #include<stdio.h> #include<string.h> #i ...

  5. 湖南多校对抗赛(2015.05.03)Problem B: War

    并查集.从后往前加边. #include<stdio.h> #include<string.h> #include<math.h> #include<algo ...

  6. Contest2089 - 湖南多校对抗赛(2015.05.31) Swipe(csu1648)

    Problem E: Swipe Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 100  Solved: 15[Submit][Status][Web ...

  7. Aquarium Tank(csu1634+几何+二分)Contest2087 - 湖南多校对抗赛(2015.05.24)-G

    Aquarium Tank Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 15  Solved: 4[Submit][Status][Web Board ...

  8. Heaps(Contest2080 - 湖南多校对抗赛(2015.05.10)(国防科大学校赛决赛-Semilive)+scu1616)

    Problem H: Heaps Time Limit: 2 Sec  Memory Limit: 128 MBSubmit: 48  Solved: 9[Submit][Status][Web Bo ...

  9. Clock Pictures(kmp + Contest2075 - 湖南多校对抗赛(2015.04.26))

    Problem H: Clock Pictures Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 73  Solved: 18[Submit][Stat ...

随机推荐

  1. 【译文连载】 理解Istio服务网格(第六章 可观测性)

    全书目录 第一章 概述 第二章 安装 第三章 流控 第四章 服务弹性 第五章 混沌测试 ​本文目录 第6章 可观测性 6.1 分布式调用链跟踪(tracing) 6.1.1 基本概念 6.1.2 Ja ...

  2. 分享一个基于Net Core 3.1开发的模块化的项目

    先简单介绍下项目(由于重新基于模块化设计了整个项目,所以目前整个项目功能不多) 1.Asp.Net Core 3.1.2+MSSQL2019(LINUX版) 2.中间件涉及Redis.RabbitMQ ...

  3. Lambda 语法

    1.java8 Lambda表达式语法简介 (此处需要使用jdk1.8或其以上版本) Lambd表达式分为左右两侧 * 左侧:Lambda 表达式的参数列表 * 右侧:Lambda 表达式中所需要执行 ...

  4. 基于springcloud搭建项目-公共篇(二)

    上一篇已经写过如何搭建注册中心eureka,这一篇主要是搭建一些公共的api接口服务,并把实体类单独拿出来放到一个服务上引用,比较简单的 1.首先.创建一个实体类服务,这样就不用在每个服务里创建实体了 ...

  5. Flink系列之状态及检查点

    Flink不同于其他实时计算的框架之处是它可以提供针对不同的状态进行编程和计算.本篇文章的主要思路如下,大家可以选择性阅读. 1. Flink的状态分类及不同点. 2. Flink针对不同的状态进行编 ...

  6. python笔记28(TCP,UDP,socket协议)

    今日内容 1.TCP协议 协议的特点:三次握手,四次挥手: 2.UDP协议 3.OSI七层模型:每层的物理设备,每一层协议. 4.代码部分: ①介绍socket: ②使用socket完成tcp协议的w ...

  7. 外部配置属性值是如何被绑定到XxxProperties类属性上的?--SpringBoot源码(五)

    注:该源码分析对应SpringBoot版本为2.1.0.RELEASE 1 前言 本篇接 SpringBoot是如何实现自动配置的?--SpringBoot源码(四) 温故而知新,我们来简单回顾一下上 ...

  8. django 登录、注册

    一.登录 1.在blogapp同级目录下新建一个userapp python manage.py startapp users 目录结构如下: 2.在主项目urls.py中新建users的includ ...

  9. 2019-2020-2 20174313张博《网络对抗技术》Exp2-后门原理与实践

    一.实验名称 后门原理与实践. 二.实验目的与要求 ·掌握后门的概念,知道常见的后门种类,深入理解后门的运作原理. ·掌握几种常见的后门工具,学会利用后门工具进行一些简单操作. ·增强信息安全意识,认 ...

  10. 动态表单数据验证 vue

    idCard: [{ validator: (rule, value, callback) => { if (this.idCardVif === 'idCard') { this.valida ...