BZOJ2720 [Violet 5] 列队春游 题解
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] 列队春游 题解的更多相关文章
- BZOJ2720: [Violet 5]列队春游
2720: [Violet 5]列队春游 Time Limit: 5 Sec Memory Limit: 128 MBSubmit: 173 Solved: 125[Submit][Status] ...
- bzoj2720: [Violet 5]列队春游(概率期望+组合数学)
Description Input Output Sample Input Sample Output HINT 数学题都这么骚的么……怎么推出来的啊……我是真的想不出来…… 首先,要算总的视 ...
- BZOJ 2720: [Violet 5]列队春游
2720: [Violet 5]列队春游 Time Limit: 5 Sec Memory Limit: 128 MBSubmit: 189 Solved: 133[Submit][Status] ...
- BZOJ 2720 [Violet 5]列队春游 ——期望DP
很喵的一道题(我可不是因为看了YOUSIKI的题解才变成这样的) $ans=\sum_{x<=n}\sum_{i<=n} iP(L=i)$ 其中P(x)表示视线为x的概率. 所以只需要求出 ...
- BZOJ2716:[Violet 3]天使玩偶——题解
http://www.lydsy.com/JudgeOnline/problem.php?id=2716 样例输入 2 31 12 32 1 21 3 32 4 2 样例输出 1 2 ———————— ...
- 【BZOJ2070】列队春游———[组合数学+概率DP]
数学渣滓不可做の题OTZ Description (单身人士不可做 Input | Output 3 ...
- bzoj violet系列 (2708~2725)
cbh大爷说:写博客不能弃坑. orz cbh 那我就来更新博客了. violet这个系列的题好神啊……出题人好劲啊…… ……怎么最近都在理性愉悦啊…… 另外bzoj400题纪念~ 2708: [Vi ...
- bzoj AC倒序
Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem ...
- LibreOJ 题解汇总
目录 #1. A + B Problem #2. Hello, World! #3. Copycat #4. Quine #7. Input Test #100. 矩阵乘法 #101. 最大流 #10 ...
- 期望与概率 dp
期望与概率 dp \(\text{By DaiRuiChen007}\) I. [洛谷4316] - 绿豆蛙的归宿 \(\text{Link}\) 思路分析 DAG 上做期望 dp,可以爆搜,也可以拓 ...
随机推荐
- fdMemtable FDQuery json之间的一些关系
1 procedure TForm1.btn1Click(Sender: TObject); 2 var ss,ss1: TStringStream; 3 begin 4 ss := TStringS ...
- 二叉树专题学习(C++版) 基础的上机题
前言: 由于二叉树这一章的题型比较多,涉及到的递归程序也较多,所以单开一个随笔来记录这个学习过程,希望对读者有帮助. 理论知识基础 在二叉树的选择题中,常常会涉及到对于最多或最少结点.最大或最小高度. ...
- ConcurrentHashMap(JDK1.8)put分析
一.ConcurrentHashMap整体结构 ConcurrentHashMap的数据结构与HashMap差不多,都是Node数组+红黑树+链表:ConcurrentHashMap中table的节点 ...
- Java 21 新特性
Java 21 是 Java 语言的一次重要更新,引入了若干新的特性,提升了开发者的编程效率和代码质量.本文将详细介绍 Java 21 的新特性,包括基础概念.使用方法.常见实践以及最佳实践. 简介 ...
- 使用 GitHub Actions 构建 CosyVoice 项目的运行环境镜像并推送到阿里云容器镜像服务和 GitHub Package Registry
使用 GitHub Actions 构建 CosyVoice 项目的运行环境镜像并推送到阿里云容器镜像服务和 GitHub Package Registry 概述 本文介绍了如何使用 GitHub A ...
- 【记录】LangChain|Ollama结合LangChain使用的速通版(包含代码以及切换各种模型的方式)
官方教程非常长,我看了很认可,但是看完了之后呢就需要一些整理得当的笔记让我自己能更快地找到需求.所以有了这篇文章.[写给自己看的,里面半句废话的解释都没有,如果看不懂的话直接看官方教程再看我的] 我是 ...
- 基于Vue3搭建ChantGPT前后端端源码及搭建教程-官方接口
ChantGPT很多,网上很多说的ChantGPT搭建及源码都是假的,无法使用的,自己研究了好几天,搞定了基于Vue3搭建ChantGPT前后端端源码及搭建教程,现在分享出来,有喜欢的朋友自行下载搭建 ...
- JS 原型链的终点
从对 js 原型和原型链查找的特性, 我们知道了两个最为重要的结论: 函数对象天生存在 prototype 属性, 它是一个对象, 而它的 constructor 属性指回 函数自身 构造函数的 pr ...
- vue3 基础-自定义指令 directive
上篇内容是关于 mixin 混入的一些操作, 也是关于代码复用层面的, 本篇讲自定义指令 directive 也是为了实现复用而设计的一些小功能啦. 先来看看, 如果不用 directive 的场景下 ...
- 一文速通Python并行计算:10 Python多进程编程-进程之间的数据共享-基于共享内存和数据管理器
一文速通 Python 并行计算:10 Python 多进程编程-进程之间的数据共享-基于共享内存和数据管理器 摘要: Python 多进程通信中,共享内存通过 Value 和 Array 实现高效数 ...