当前位置: 首页 > news >正文

BZOJ2720: [Violet 5]列队春游 【概率与期望】

在这里插入图片描述

题意自行理解,先讲一下概率和期望怎么算

概率

概率准确的定义自行百度,这里就不赘述了

概率的计算其实很简单,就是将符合条件的情况除以总共的情况

下面以掷骰子为例:

问题:将一个骰子掷出,666朝上的概率是多少

解决

很显然的,将一个骰子掷出,一共就只有666种情况,分别是 :

111朝上,222朝上,333朝上,444朝上,555朝上,666朝上

我们要求的是666朝上的概率,不难看出,上述符合666朝上的情况只有一种

那么我们的概率就是

P=16P = \frac{1}{6}P=61

期望

关于期望的详细计算可以看这位大佬的文章 知乎传送门

说的简单一点,期望就是算加权平均数,用当前情况的值乘上当前情况的概率,然后把所有的值都加起来除以1(因为每种情况的概率之和必为1)

回到题目

这道题目仔细思考之后其实会发现,可以用每一个小朋友的期望值之和加起来求得

求解每一个小朋友的期望值

我们设kkk所有身高大于等于当前小朋友的人数之和(不包括自身)

然后枚举当前小朋友的视野长度LLL

考虑比当前小朋友高的人的站位

那么在这个小朋友前面的LLL个位置都不能站比当前小朋友高的人,那么比小朋友高的kkk个人一共有n−Ln-LnL个位置可以放,考虑排列顺序,则共有An−LkA^{k}_{n-L}AnLk种放法

考虑当前小朋友的位置

因为视野长度为LLL,所以当前小朋友前面必须要预留出LLL个位置给比他矮的小朋友站,所以当前小朋友必须要从L+1L+1L+1的位置开始排,所以当前小朋友有(n−L+1)(n-L+1)(nL+1)种站位

开始计算

根据乘法原理,符合要求的状况一共有An−Lk∗(n−L+1)A^{k}_{n-L}*(n-L+1)AnLk(nL+1)

总共的情况就很好计算了,就是An−LkA^{k}_{n-L}AnLk

所以当前小朋友的期望值就是
Ans=∑L=1nAn−Lk∗(n−L+1)An−LkAns = \sum_{L=1}^n \frac{A^{k}_{n-L}*(n-L+1)}{A^{k}_{n-L}}Ans=L=1nAnLkAnLk(nL+1)

最后化简得出
Ans=k+2n+1Ans = \frac{k+2}{n+1}Ans=n+1k+2

推导过程看这个大佬
说白了就是不想打公式

CodeCodeCode

#include <bits/stdc++.h>using namespace std;int h[1010],sum,n;
double ans = 0;
int main(){cin >> n;for(int i = 1; i <= n; i++){int a;cin >> a;h[a]++;}	for(int i = 1; i <= 1000; i++){ans += 1.0*h[i] * (n+1) / (n - sum+1);sum += h[i];//类似前缀和,计算比当前小朋友矮的人数 }cout << fixed << setprecision(2) << ans;return 0;
}
http://www.lryc.cn/news/45167.html

相关文章:

  • 脉诊之脉象——平脉,常见病脉,七绝脉
  • 第05章_存储引擎
  • 【新2023Q2押题JAVA】华为OD机试 - 挑选字符串
  • 职场「OKR」,魔幻又内卷
  • mysql8计算商家距离,按照由近及远排序
  • c语言函数使用记录
  • VBA智慧办公4——符号运算及语法结构
  • ChatGPT角色扮演提示语
  • 【Java面试题】设计模式之七种结构性模式——代理模式、适配器模式、桥接模式、装饰模式、外观模式、享元模式、组合模式
  • 【从零开始学习 UVM】6.3、UVM 激励产生 —— start() 方法执行sequence详解
  • 「Python 机器学习」Matplotlib 数据探索
  • 3.24-3.26学习总结
  • OpenAI Translator 基于 ChatGPT API 的划词翻译工具
  • git常用指令---复习向
  • 安卓开发学习记录(持续学习)
  • 【redis】AOF日志:宕机了,Redis如何避免数据丢失
  • 第三章Vue中的Ajax
  • 在 Python3 中使用 JSON
  • 图神经网络GNN介绍
  • 【面试】TCP、UDP、Socket、HTTP网络编程面试题
  • Python语言的文件读写
  • 面向对象 ( 上 )
  • Node.js学习笔记——会话控制
  • tsconfig.json参数详解
  • Pyecharts Geo绘制可视化地图并展示坐标位置
  • 什么是Hbuilder?--前端工具IDE
  • 07-centos-更改数据源、打补丁、查看内核
  • flac格式如何转mp3,3种简单方法值得收藏
  • 停车位 蓝桥杯模拟
  • ftrace使用实战