静态网站开发项目实验报告,常见的网络营销方法有哪些,网站建设丿金手指下拉,买个域名多少钱一年题意自行理解,先讲一下概率和期望怎么算
概率
概率准确的定义自行百度#xff0c;这里就不赘述了
概率的计算其实很简单#xff0c;就是将符合条件的情况除以总共的情况
下面以掷骰子为例#xff1a;
问题#xff1a;将一个骰子掷出#xff0c;666朝上的概率是多少
…
题意自行理解,先讲一下概率和期望怎么算
概率
概率准确的定义自行百度这里就不赘述了
概率的计算其实很简单就是将符合条件的情况除以总共的情况
下面以掷骰子为例
问题将一个骰子掷出666朝上的概率是多少
解决
很显然的将一个骰子掷出一共就只有666种情况分别是 : 111朝上222朝上333朝上444朝上555朝上666朝上 我们要求的是666朝上的概率不难看出上述符合666朝上的情况只有一种
那么我们的概率就是
P16P \frac{1}{6}P61
期望
关于期望的详细计算可以看这位大佬的文章 知乎传送门
说的简单一点期望就是算加权平均数用当前情况的值乘上当前情况的概率然后把所有的值都加起来除以1因为每种情况的概率之和必为1
回到题目
这道题目仔细思考之后其实会发现可以用每一个小朋友的期望值之和加起来求得
求解每一个小朋友的期望值
我们设kkk为所有身高大于等于当前小朋友的人数之和不包括自身
然后枚举当前小朋友的视野长度LLL
考虑比当前小朋友高的人的站位
那么在这个小朋友前面的LLL个位置都不能站比当前小朋友高的人那么比小朋友高的kkk个人一共有n−Ln-Ln−L个位置可以放考虑排列顺序则共有An−LkA^{k}_{n-L}An−Lk种放法
考虑当前小朋友的位置
因为视野长度为LLL所以当前小朋友前面必须要预留出LLL个位置给比他矮的小朋友站所以当前小朋友必须要从L1L1L1的位置开始排所以当前小朋友有(n−L1)(n-L1)(n−L1)种站位
开始计算
根据乘法原理符合要求的状况一共有An−Lk∗(n−L1)A^{k}_{n-L}*(n-L1)An−Lk∗(n−L1)种
总共的情况就很好计算了就是An−LkA^{k}_{n-L}An−Lk
所以当前小朋友的期望值就是 Ans∑L1nAn−Lk∗(n−L1)An−LkAns \sum_{L1}^n \frac{A^{k}_{n-L}*(n-L1)}{A^{k}_{n-L}}AnsL1∑nAn−LkAn−Lk∗(n−L1)
最后化简得出 Ansk2n1Ans \frac{k2}{n1}Ansn1k2
推导过程看这个大佬 说白了就是不想打公式
CodeCodeCode
#include bits/stdc.husing 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] * (n1) / (n - sum1);sum h[i];//类似前缀和计算比当前小朋友矮的人数 }cout fixed setprecision(2) ans;return 0;
}