数学期望
期望
概率与数学期望
在概率论中,我们把一个随机实验的某种可能的结果称为样本点,把所有可能的结果构成的集合称为样本空间,在一个给定的样本空间中,随机事件就样本空间的自己,即若干个样本点构成的集合,随机变量就是把样本点映射为实数的函数,随机变量分为离散型和连续性两种,我们主要讨论离散型随机变量,即取值有限或可数的随机变量
定义
设样本空间为
1.
2.
3.对于若干个两两互斥事件
则称
定义
若随机变量
性质
数学期望是线性函数,满足
该性质非常重要,这是我们能够运用动态规划算法求解数学期望的基本依据
来一到非常简单的题:
守卫者的挑战
打开了黑魔法师
突然,眼前一道亮光闪过,“我,
瞬间,队员们被传送到了一个擂台上,最初身边有一个容量为
擂台赛一共有
第
地图残片必须装在包包里才能带出擂台,包包没有必要全部装满,但是队员们必须把获得的所有的地图残片都带走(没有得到的不用考虑,只需要完成所有
并且他们至少要挑战成功
队员们一筹莫展之时,善良的守卫者
现在,请你帮忙预测一下,队员们能够带上他们获得的地图残片离开擂台的概率。
分析:
这题很容易想到
不过我们可以发现,地图残片数量和背包容量可以合并,因为最终都是要装在背包里的,于是我们将状态里的背包容量设为实际背包容量减去地图残片数量
所以我们得到了动态规划的状态:设
但是我们注意,我们最多可以得到
于是有状态转移方程:
当然,这道题我们用当前状态更新以后状态会更加容易:
在统计答案的时候把所有
using namespace std;
int a[205],n,l,k;
double p[205],ans,f[205][205][415];
void init(){
scanf("%d%d%d",&n,&l,&k);
for(int i=1;i<=n;i++)cin>>p[i];
for(int i=1;i<=n;i++)scanf("%d",&a[i]);
for(int i=1;i<=n;i++)p[i]/=100;
f[0][0][k+n]=1;
}
void solve(){
for(int i=0;i<n;i++){
for(int j=0;j<=i;j++){
for(int k=0;k<=n+n;k++){
if(a[i+1]+k>=0){
f[i+1][j+1][min(n+n,k+a[i+1])]+=f[i][j][k]*p[i+1];
f[i+1][j][k]+=f[i][j][k]*(1-p[i+1]);
}
}
}
}
for(int i=l;i<=n;i++){
for(int k=n;k<=n+n;k++){
ans+=f[n][i][k];
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!