CF148D--Bag of mice+概率期望dp

本文介绍了一种动态规划方法来解决白黑老鼠问题,通过定义状态转移方程,逐步计算公主赢得概率。

第一道概率期望dp:)

其实和一般的dp也差不多,只要状态选好就行了。


定义dp[i][j]表示还剩i只白老鼠j只黑老鼠时候公主赢得概率。

则:1.公主选白老鼠,直接赢,概率:i/(i+j)

        2.公主选黑老鼠

             1)龙选黑老鼠,逃走黑老鼠;概率:j/(i+j)*(j-1)/(i+j-1)*(j-2)/(i+j-2)

             2)  龙选黑老鼠,逃走白老鼠;概率:j/(i+j)*(j-1)/(i+j-1)*i/(i+j-2)

             3) 龙选白老鼠,这样公主是必输的,不用考虑

然后dp[i][j]等于以上概率之和。

初始化时,如果只要白老鼠则获胜概率为1

如果只要黑老鼠则获胜概率为0



代码如下:


#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;

double dp[1100][1100];

int main()
{
    int w,b;
    while(scanf("%d%d",&w,&b)!=EOF)
    {
        for(int i=1;i<=w;i++)
           dp[i][0]=1;
        for(int j=1;j<=b;j++)
           dp[0][j]=0;
        for(int i=1;i<=w;i++)
          for(int j=1;j<=b;j++)
          {
              dp[i][j]=1.0*i/(i+j);
              if(j>=3)
                 dp[i][j]+=j*1.0/(i+j)*(j-1)*1.0/(i+j-1)*(j-2)*1.0/(i+j-2)*dp[i][j-3];
              if(j>=2)
                 dp[i][j]+=j*1.0/(i+j)*(j-1)*1.0/(i+j-1)*i*1.0/(i+j-2)*dp[i-1][j-2];
          }
        printf("%.9lf\n",dp[w][b]);
    }
  return 0;
}



### 3.1 PMM 与 RF MICE 的联系 预测均值匹配(Predictive Mean Matching, PMM)和随机森林链式方程多重插补(Random Forest MICE, RF MICE)均属于多重插补(Multiple Imputation, MI)框架下的插补方法,广泛应用于缺失数据处理。两者都基于链式方程(Multivariate Imputation by Chained Equations, MICE)结构,通过迭代构建变量间的回归模型来估计缺失值。PMM 是一种基于线性回归模型的插补策略,特别适用于连续变量,其核心思想是使用回归模型预测缺失值,并从观测数据中寻找最接近的预测值作为替代值[^1]。而 RF MICE 则利用随机森林这一集成学习方法替代传统的回归模型,通过构建多个决策树来提升插补的鲁棒性和适应性。 ### 3.2 插补机制与适用场景的差异 PMM 的插补机制依赖于回归模型的预测值,并在观测数据中查找与预测值最接近的样本,从而避免直接使用模型预测值可能导致的数据分布失真问题。这种方法在数据缺失机制为随机缺失(Missing at Random, MAR)且变量分布非正态或存在离群值时表现良好。相比之下,RF MICE 不依赖于线性假设,能够自动处理变量间的非线性关系和交互作用,适用于高维、复杂结构的数据集。随机森林通过构建多个基学习器并集成其预测结果,提升了模型的泛化能力,尤其在变量间存在复杂依赖关系时更具优势。 ### 3.3 数据插补性能比较 | 比较维度 | PMM MICE | RF MICE | |--------------------|------------------------------------------------------------------|-----------------------------------------------------------------| | **适用变量类型** | 主要适用于连续变量 | 支持多种变量类型(连续、二元、多分类等) | | **插补机制** | 基于线性回归预测值,从观测数据中匹配最邻近值 | 基于随机森林模型,集成多个决策树的预测结果 | | **非线性建模能力** | 有限,依赖线性模型 | 强,能自动处理非线性关系和变量交互 | | **数据分布保留** | 更好保留原始分布特性 | 适应复杂分布,但可能因模型拟合引入轻微偏差 | | **计算效率** | 相对较低,需进行最近邻搜索 | 相对较高,尤其在高维数据中表现更优 | | **适用场景** | MAR 缺失机制、连续变量、数据分布非正态或含离群值 | 复杂数据结构、变量类型多样、缺失机制不确定 | ### 3.4 实现方式与代码示例 在 R 语言中,`mice` 包支持 PMM 和 RF MICE 方法的实现,用户可通过指定 `method` 参数选择插补策略。以下为两种方法的代码示例: ```r # 使用 PMM 插补 library(mice) imputed_data_pmm <- mice(data, m = 5, method = "pmm", print = FALSE) # 使用随机森林插补 imputed_data_rf <- mice(data, m = 5, method = "rf", print = FALSE) ``` ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值