Codeforces 148D Bag of mice 概率dp(水

简介:

题目链接:http://codeforces.com/problemset/problem/148/D

题意:
原来袋子里有w仅仅白鼠和b仅仅黑鼠
龙和王妃轮流从袋子里抓老鼠。

谁先抓到白色老师谁就赢。 王妃每次抓一仅仅老鼠。龙每次抓完一仅仅老鼠之后会有一仅仅老鼠跑出来。

每次抓老鼠和跑出来的老鼠都是随机的。

假设两个人都没有抓到白色老鼠则龙赢。王妃先抓。

问王妃赢的概率。 解析: 设dp[i][j]表示如今轮到王妃抓时有i仅仅白鼠,j仅仅黑鼠。王妃赢的概率 明显 dp[0][j]=0,0<=j<=b;由于没有白色老鼠了 dp[i][0]=1,1<=i<=w;由于都是白色老鼠,抓一次肯定赢了。 dp[i][j]能够转化成下列四种状态: 1、王妃抓到一仅仅白鼠,则王妃赢了,概率为i/(i+j); 2、王妃抓到一仅仅黑鼠。龙抓到一仅仅白色,则王妃输了。概率为j/(i+j)*i/(i+j-1). 3、王妃抓到一仅仅黑鼠,龙抓到一仅仅黑鼠。跑出来一仅仅黑鼠,则转移到dp[i][j-3]。 概率为j/(i+j)*(j-1)/(i+j-1)*(j-2)/(i+j-2); 4、王妃抓到一仅仅黑鼠,龙抓到一仅仅黑鼠。跑出来一仅仅白鼠。则转移到dp[i-1][j-2]. 概率为j/(i+j)*(j-1)/(i+j-1)*i/(i+j-2); 当然后面两种情况要保证合法。即第三种情况要至少3仅仅黑鼠,第四种情况要至少2仅仅白鼠

by 点击打开链接

#include "stdio.h"
#include "math.h"
#include <iostream>清理Word代码
using namespace std;
const int N = 1005;
int w, b;
double dp[N][N];//dp[i][j]表示i仅仅白 j仅仅黑
double solve(){
	for(int i = 0; i <= w; i++)
		dp[i][0] = 1;
	for(int i = 0; i <= b; i++)
		dp[0][i] = 0;
	dp[0][0] = 0;
	for(int ii = 1; ii <= w; ii++)
		for(int jj = 1; jj <= b; jj++)
		{
			double i = ii, j = jj;
			dp[ii][jj] = i / (i+j);
			if(j-3>=0)
			dp[ii][jj] += dp[ii][jj-3] * j / (i+j) * (j-1) / (i+j-1) * (j-2) / (i+j-2);
			if(j>=2 &&i>=1)
			dp[ii][jj] += dp[ii-1][jj-2] * j / (i+j) * (j-1) / (i+j-1) * i / (i+j-2);
		}
	return dp[w][b];
}
int main (){
	while(cin>>w>>b){
		printf("%.10f\n", solve());
	}
	return 0;
}


本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/5229597.html,如需转载请自行联系原作者

相关文章
|
10月前
|
存储 API 文件存储
单页图床HTML源码+本地API接口图床系统源码
图床系统是一种用于存储和管理图片文件的在线服务。它允许用户上传图片文件,并生成相应的图片链接,从而方便用户在网页、社交媒体或其他平台上分享图片。
402 2
单页图床HTML源码+本地API接口图床系统源码
|
10月前
|
人工智能 自然语言处理 语音技术
Ai好记全面接入DeepSeek大模型!重塑知识管理新体验
Ai好记融合DeepSeek大模型,带来知识管理新纪元。视频秒变知识胶囊,外语资料自动转母语,一键构建思维导图。六大核心能力包括结构化笔记、AI播客、全平台解析等,全面提升学习和工作效率。立即登录aihaoji.com体验!
|
消息中间件 存储 监控
消息队列通信的优缺点
【10月更文挑战第29天】消息队列通信具有诸多优点,如解耦性强、异步通信、缓冲削峰等,能够有效地提高系统的灵活性、可扩展性和稳定性。但同时也存在一些缺点,如系统复杂性增加、性能开销、数据一致性挑战和实时性受限等。在实际应用中,需要根据具体的业务需求和场景,权衡其优缺点,合理地选择和使用消息队列通信机制,以实现系统的高效运行和优化。
|
网络协议 数据库 网络架构
OSPF的邻居状态机详解
OSPF的邻居状态机详解
713 6
|
存储 Shell 开发工具
Flutter&鸿蒙next 中使用 MobX 进行状态管理
本文介绍了如何在 Flutter 中使用 MobX 进行状态管理。MobX 是一个基于观察者模式的响应式编程库,通过 `@observable` 和 `@action` 注解管理状态,并使用 `Observer` 小部件自动更新 UI。文章详细讲解了 MobX 的核心概念、如何集成到 Flutter 项目中以及具体的代码示例。适合希望在 Flutter 应用中实现高效状态管理的开发者阅读。
335 9
|
分布式计算 Java 数据处理
Apache Spark优缺点大揭秘
【10月更文挑战第12天】
491 11
|
传感器 存储 安全
智能标签:物品追踪与管理的革新
【10月更文挑战第19天】智能标签技术通过集成RFID、二维码和传感器等技术,实现了物品的高效追踪与管理,广泛应用于物流、零售、医疗、交通和工业等领域,正引领物品管理的革新。本文探讨其原理、技术、应用及未来趋势。
|
传感器 监控 物联网
新兴技术发展趋势与应用场景###
本文探讨了物联网(IoT)和虚拟现实(VR)这两项新兴技术的发展趋势及其在各行业的广泛应用。物联网通过智能设备互联实现实时数据监控与管理,广泛应用于智能家居、智慧城市和工业自动化领域。虚拟现实提供沉浸式体验,已深入游戏、教育、医疗等行业,显著提升互动性和效率。随着5G普及和技术融合,未来这些技术将进一步推动智能化发展,改变生活和工作方式。 ###
Ueditor——请求后台配置项http错误,上传功能将不能正常使用
Ueditor——请求后台配置项http错误,上传功能将不能正常使用
263 0
Ueditor——请求后台配置项http错误,上传功能将不能正常使用
|
人工智能 算法
从RLHF到DPO再到TDPO,大模型对齐算法已经是token-level
【7月更文挑战第1天】在AI领域的语言模型对齐研究中,新提出的TDPO算法实现了Token-level的直接优化。不同于以往在答案级别评估的方法,TDPO利用前向KL散度和Bradley-Terry模型,直接在生成过程的Token层面上调整对齐,提高微调精度和多样性。实验显示,TDPO优于DPO和RLHF,在某些任务上表现出色,但也面临计算资源需求高、处理复杂任务时局限性等问题,需要进一步验证和改进。[论文链接](https://arxiv.org/abs/2404.11999)
507 8

热门文章

最新文章