Problem

对于一个数列 \(S\),\(S_0= \infty\),设对于 \(S_i\),\(S_{a_i}\) 是 \(S_i\) 之前第一个大于等于 \(S_i\) 的数。给定 \(S\) 中的元素,求 \(\sum_{i=1}^{n}(i-a_i)\) 的期望。

Solution

我们考虑对于每一种身高的学生,分别统计期望。显然,对于身高为 \(h\) 的学生,只有身高为 \(h-1\) 及以下的学生可以产生贡献,且每个人产生的贡献都是 \(1\)。

设对于当前的 \(h\),共有 \(s\) 个可以产生贡献的学生,剩下便有 \(n-s\) 个学生(包括当前索要贡献的学生)。这些学生之间共 \(n-s+1\) 个空。而一个学生想要产生贡献,就必须恰好站在索要贡献的学生之前的空里,贡献为 \(\frac{1}{n-s+1}\) 。若身高为 \(h\) 的学生共有 \(b\) 个,则此类学生对所有身高为 \(h\) 的学生所产生的贡献为 \(\frac{s \times b}{n-s+1}\)。

另外,每个人不论如何都有 \(1\) 的贡献,应当加上。

实现时,可以记录每种身高学生的个数并依次累加贡献,时间复杂度为基于身高值域的线性复杂度。

Code
#include<bits/stdc++.h>
using namespace std;
int n,a,b[2000],sum,maxn;
double ans;
int main(){
scanf("%d",&n);
for(int i=1;i<=n;++i){
scanf("%d",&a);
++b[a];
maxn=max(maxn,a);
}
for(int i=1;i<=maxn;++i){
ans+=1.0*sum*b[i]/(n-sum+1)+b[i];
sum+=b[i];
}
printf("%.2lf",ans);
return 0;
}

BZOJ2720 [Violet 5] 列队春游 题解的更多相关文章

  1. BZOJ2720: [Violet 5]列队春游

    2720: [Violet 5]列队春游 Time Limit: 5 Sec  Memory Limit: 128 MBSubmit: 173  Solved: 125[Submit][Status] ...

  2. bzoj2720: [Violet 5]列队春游(概率期望+组合数学)

    Description Input Output Sample Input   Sample Output   HINT 数学题都这么骚的么……怎么推出来的啊……我是真的想不出来…… 首先,要算总的视 ...

  3. BZOJ 2720: [Violet 5]列队春游

    2720: [Violet 5]列队春游 Time Limit: 5 Sec  Memory Limit: 128 MBSubmit: 189  Solved: 133[Submit][Status] ...

  4. BZOJ 2720 [Violet 5]列队春游 ——期望DP

    很喵的一道题(我可不是因为看了YOUSIKI的题解才变成这样的) $ans=\sum_{x<=n}\sum_{i<=n} iP(L=i)$ 其中P(x)表示视线为x的概率. 所以只需要求出 ...

  5. BZOJ2716:[Violet 3]天使玩偶——题解

    http://www.lydsy.com/JudgeOnline/problem.php?id=2716 样例输入 2 31 12 32 1 21 3 32 4 2 样例输出 1 2 ———————— ...

  6. 【BZOJ2070】列队春游———[组合数学+概率DP]

    数学渣滓不可做の题OTZ Description (单身人士不可做 Input                     |            Output 3                   ...

  7. bzoj violet系列 (2708~2725)

    cbh大爷说:写博客不能弃坑. orz cbh 那我就来更新博客了. violet这个系列的题好神啊……出题人好劲啊…… ……怎么最近都在理性愉悦啊…… 另外bzoj400题纪念~ 2708: [Vi ...

  8. bzoj AC倒序

    Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem ...

  9. LibreOJ 题解汇总

    目录 #1. A + B Problem #2. Hello, World! #3. Copycat #4. Quine #7. Input Test #100. 矩阵乘法 #101. 最大流 #10 ...

  10. 期望与概率 dp

    期望与概率 dp \(\text{By DaiRuiChen007}\) I. [洛谷4316] - 绿豆蛙的归宿 \(\text{Link}\) 思路分析 DAG 上做期望 dp,可以爆搜,也可以拓 ...

随机推荐

  1. 【Python】介绍以及环境搭建

    Python简介 Python介绍 Python是时下最流流.最火爆的编程语言之一,具体原因如下: 简单.易学,适应人群广泛 免费.开源 应用领域广泛 备注:以下知名框架均是Python语言开发. G ...

  2. leetcode每日一题:监控二叉树

    引言 ​ 今天的每日一题原题是2643. 一最多的行,直接模拟,切除和最大的一行即可.更换成前几天遇到的更有意思的一题来写这个每日一题. 题目 968. 监控二叉树 给定一个二叉树,我们在树的节点上安 ...

  3. 《机器人SLAM导航核心技术与实战》先导课:课程大纲

    <机器人SLAM导航核心技术与实战>先导课:课程大纲 视频讲解 [先导课]1.课程大纲-视频讲解 [先导课]1.1.课程大纲-学习思维导图(上)-视频讲解 [先导课]1.2.课程大纲-学习 ...

  4. 5. RabbitMQ 消息队列中 Exchanges(交换机) 的详细说明

    5. RabbitMQ 消息队列中 Exchanges(交换机) 的详细说明 @ 目录 5. RabbitMQ 消息队列中 Exchanges(交换机) 的详细说明 1. Exchanges 交换机的 ...

  5. Linux浅谈(四)----中断&异常

    简介 CPU中断时操作系统中的两个重要概念,都作用于改变CPU执行的正常流程. 当出现某些特殊情况(如外部设备请求服务.定时器时间到等)时,CPU 暂停当前正在执行的程序,转去执行处理这些特殊情况的程 ...

  6. 使用Python可视化潮汐力

    引言 潮汐力,简单来说,就是天体间由于引力差异而产生的力量.这种力在地球上最显著的表现就是潮汐现象,即海水的涨落.潮汐力是由月球和太阳的引力作用引起的,它对地球的影响非常深远,除了海洋潮汐外,还能影响 ...

  7. Jmeter参数化总结

    参数化步骤: 1.连接数据库 2.获取account表手机号数据 3.获取手机号个数 4.增加For Each控制器 5.将请求添加至循环控制器里面 脚本:循环登录.jmx 页面如下: 下面主要说明F ...

  8. ShardingSphere 解决关联表查询问题的详细方案

    一.基础概念 在分库分表场景下,关联表(JOIN)查询的复杂性主要源于数据分布在不同的数据库或表中.ShardingSphere 通过 绑定表(Binding Table) 和 广播表(Broadca ...

  9. 服务端获取实际IP工具类

    import javax.servlet.http.HttpServletRequest; import java.net.InetAddress; import java.net.UnknownHo ...

  10. 为什么 Java 的垃圾收集器将堆分为老年代和新生代?

    为什么 Java 的垃圾收集器将堆分为老年代和新生代? Java 垃圾收集器通过将堆内存划分为 新生代 和 老年代,优化了内存管理,提高了垃圾回收的效率.这种分代思想是基于 对象生命周期的特点. 1. ...