Bag of mice

news/2025/3/10 8:50:48/文章来源:https://www.cnblogs.com/YzaCsp/p/18761804

前言

做过的, 但是记忆中非简单, 于是冲一下

  • 概率与期望
    • \(\rm{dp}\) 特殊的点
      • 一定一定一定要分阶段
      • 可以先讨论那些更特殊的元素, 作为前阶段, 也就是说, 你可以在不影响概率的前提下处理阶段的优先级
    • 结束状态一定倒推, 开始状态一定正推
    • 期望 \(\rm{dp}\)
      • 全期望公式直接转移
      • 用期望定义
        • 可以求出每种情况的方案数,然后用期望定义得到答案
        • 先概率 \(\rm{dp}\)
      • 期望的线性性拆开考虑
      • 整体等概率一般可以拆成每一次均匀选择
    • 概率 \(\rm{dp}\)
      • 全概率公式直接转移

上午做题下午补, 下课休息 + 复习 / 每日 \(\rm{C, D}\) , 晚上剩啥干啥
差不多, 下课是最需要做到的, 别颓

跟策略, 数据检验, 心态注意冷静, 放下, 耐心, 不浮躁
\(\rm{klr}\) 是活动身体, 听音乐是放松身心, 做题是保持状态, 赢!

思路

题意

两种元素 B, W\textrm{B, W}
最初集合中有 wwW\textrm{W} , bbB\textrm{B}

Bob,Alice\rm{Bob, Alice} 轮流取出一个
特别的, 每次 Alice\textrm{Alice} 取出一个时候, 随机选择集合中的一个元素深处
其中第一个取到 W\textrm{W} 的胜利, 如果两个人都没有取到 Bob\textrm{Bob} 胜利

Bob\rm{Bob} 胜利的概率

概率 \(\rm{dp}\) 总而言之没有期望那么多种方法, 往往就是按照全概率公式去做
也就是

\[P(A) = \sum_{i = 1}^{n} P(B_i) P(A|B_i) \]

所以我们考虑递推, 往往正着推

观察性质发现公主胜利的概率可以用每个阶段的胜率乘以到达这个阶段的概率之和来表示
这个性质还是很简单了, 怎么用于做题

不难发现我们可以通过 \(\rm{dp}\) 求出每个阶段的概率及胜率, 然后不难统计
设状态 \(f_{w, b}\) 表示到达状态 \(\{w, b\}\) 的概率, 转移通过乘以 \(\rm{Bob}\) 的败率和 \(\rm{Alice}\) 的败率, 枚举删除元素即可

具体一点, 我们详细阐述一下式子
最初 \(f_{w, b} = 1\)
转移如下

\[\begin{align*} f_{i, j} \gets \begin{cases}f_{i, j + 3} \times P_1 \\f_{i + 1, j + 2} \times P_2 \end{cases} \end{align*}\]

实现

边转移边统计即可

代码
#include <bits/stdc++.h>
const int MAXW = 1024;/*现在什么也别管就当考试, 下课就是复习或者 C/D , 推 klr 锻炼身体*/int w, b;
long double f[MAXW][MAXW], ans = 0.0;int main() {scanf("%d %d", &w, &b);for (int i = w ; i >= 0; i--) for (int j = b; j >= 0; j--) {if (i == 0 && j == 0) continue;if (i == w && j == b) f[i][j] = 1.0;else {f[i][j] += f[i + 1][j + 2] * (j + 2) * 1.0 / (i + j + 3) * (j + 1) / (i + j + 2) * (i + 1) / (i + j + 1);f[i][j] += f[i][j + 3] * (j + 3) * 1.0 / (i + j + 3) * (j + 2) / (i + j + 2) * (j + 1) / (i + j + 1);}ans += f[i][j] * i * 1.0 / (i + j);}printf("%.10Lf", ans);return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/896658.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【分享】文件摆渡系统,如何保障数据安全,促进业务协同发展?

在数字化浪潮的席卷下,企业的信息化建设不断推进,网络安全也日益受到重视。为了保护核心数据资产,许多企业采用了网络隔离技术,将内部网络划分为不同的区域,如内网与外网、办公网与研发网等。这种隔离措施在一定程度上有效抵御了外部网络攻击和数据泄露风险,然而,也给企…

20250310

今天有几个趋势需要确定: 1. 焦煤 https://www.cnblogs.com/lyonlee/p/18753748 2.沪锌 指标已经略微下穿 3 棉花

解密prompt系列50. RL用于优化Agent行为路径的一些思路

而Deep Research的效果类似O1的长思考是非常长的行为链,OpenAI也直接表明Deep Research是使用和O1相同的RL训练得到的。但这里比O1更难的就是数据集的设计,训练过程动态行为数据的引入和RL目标的选择。这一章我们分别介绍从两个不同角度使用RL优化Agent行为链路的方案,其中P…

读DAMA数据管理知识体系指南15数据库过程

读DAMA数据管理知识体系指南15数据库过程1. 列式数据库 1.1. 列式数据库(Column-oriented Database)能压缩冗余数据,通常用于商务智能(BI)的应用 1.2. 权衡1.2.1. 需要对很多行进行聚合计算时,面向列的存储组织方式会更加高效1.2.1.1. 这只适用于处理少数列的情况,因为读取少…

VS2022开发跨平台程序(ubuntu x64/aarch64)

1、目标平台安装编译环境sudo apt install openssh-server g++ gcc gdb gdbserver -y目标平台安装ninjiasudo apt install ninja-build目标平台安装较新版本的cmake ,否则VS提示目标平台版本太旧,不支持远程编译。 2、VS创建CMake项目,会有个默认打印Hello CMake的程序。 指…

软件工程作业2

这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/SoftwareEngineeringClassof2023这个作业要求在哪里 https://www.cnblogs.com/huanghi4833/p/18760121这个作业的目标 掌握 GitHub 、Git 的基本使用方法, 积累个人编程项目的经验一、PSP表格PSP2.1 Personal Softw…

How Far Can We Go with Practical Function-Level Program Repair? 论文笔记

介绍 (1) 背景现有的很多基于 LLM 的 APR 方法针对的是 single-line 或者代 hunk-level 的程序修复,但它们通常依靠语句级别的故障定位技术。然而,人们普遍认为,准确识别陈述级的断层基本上可能是代价高昂的,即要求细粒度的输入或强有力的假设,从而有可能限制它们的适用性…

Ubuntu安装最新版本的cmake

1、下载地址 Index of /files/LatestRelease ,目前最新的是3.31.6 或者命令行方式下载wget https://cmake.org/files/LatestRelease/cmake-3.31.6-linux-x86_64.tar.gz2、解压tar -zxvf cmake-3.31.6-linux-x86_64.tar.gz3、替换已有的cmake,mv命令必须目标路径为空,所以使用…

[AI/GPT] Anything-LLM : (MIT)

概述: Anything LLM 简述一体式桌面和Docker AI应用程序,内置RAG、AI代理、无代码代理构建器等。urlhttps://anythingllm.com https://github.com/Mintplex-Labs/anything-llm20250220 : 3.7k fork / 38.1K star创建公司:Mintplex Labs Inc.创立时间:2023年12月(首次公开)…

再次认识java反射

一、概述 在认识java反射之前我们先来认识一下什么是动态语言与静态语言。 动态语言 是一类在运行时可以改变其结构的语言:例如新的函数、对象、甚至代码可以 被引进,已有的函数可以被删除或是其他结构上的变化。通俗点说就是在运行时代码可以根据某些条件改变自身结构。 主要…

【问题】HashMap的computeIfAbsent方法丢失数据问题分析

问题背景 前段时间碰到客户问题发现是 ConcurrentHashMap的computeIfAbsent导致死循环(ConcurrentHashMap死循环问题分析)就很好奇HashMap的computeIfAbsent会不会也有问题,一试之下发现确实存在问题,相同的代码在HashMap中会丢失插入的数据。 发生原因 【循环添加】时,如…

CFA学习

定量分析 利率 利率的定义:被认为是 ① 平衡借贷双方的平衡点(equilibrium interest rates)② 贴现率(货币的时间价值)③ 机会成本 利率的组成:通货膨胀➕各种风险 计算【现值/终值】用时间轴确实一目了然! # 经济学 # 财务报表分析 # 公司理财 # 投资组合管理 # 权益投…