CodeForces 148D Bag of mice [概率DP]

CodeForces 148D Bag of mice 详解 (概率DP) D. Bag of mice time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output The dragon and the princess are arguing abou 阅读详情

Description

The dragon and the princess are arguing about what to do on the New Year's Eve. The dragon suggests flying to the mountains to watch fairies dancing in the moonlight, while the princess thinks they should just go to bed early. They are desperate to come to an amicable agreement, so they decide to leave this up to chance.

They take turns drawing a mouse from a bag which initially contains w white and b black mice. The person who is the first to draw a white mouse wins. After each mouse drawn by the dragon the rest of mice in the bag panic, and one of them jumps out of the bag itself (the princess draws her mice carefully and doesn't scare other mice). Princess draws first. What is the probability of the princess winning?

If there are no more mice in the bag and nobody has drawn a white mouse, the dragon wins. Mice which jump out of the bag themselves are not considered to be drawn (do not define the winner). Once a mouse has left the bag, it never returns to it. Every mouse is drawn from the bag with the same probability as every other one, and every mouse jumps out of the bag with the same probability as every other one.

题意:

龙与女王因是否去看精灵跳舞产生了分歧,于是决定采取从袋子里抓老鼠的方法来决定去不去看,袋子里有w只白老鼠,b只黑老鼠,谁先抓到白老鼠谁赢,而龙在从袋子里抓老鼠的时候会有一只老鼠会跑掉,现在女王先抓,问最后女王赢的概率。(一开始题意读不懂,后来才知道draw有抓的意思)

范围:

w,b<=1000

解法:

知道了具体的题意就会发现这是一道很明显的概率DP,DP[W][B]表示现在女王先手,且还有W只白老鼠,B只黑老鼠,此时女王赢的概率。

于是只需枚举女王与龙抓到的老鼠颜色即可转移,具体参考代码,注意w与b可能在转移时减为负数,需要判掉。

代码:

#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<math.h>
#include<iostream>
#include<stdlib.h>
#include<set>
#include<map>
#include<queue>
#include<vector>
#include<bitset>
#pragma comment(linker, "/STACK:1024000000,1024000000")
template <class T>
bool scanff(T &ret){ //Faster Input
    char c; int sgn; T bit=0.1;
    if(c=getchar(),c==EOF) return 0;
    while(c!='-'&&c!='.'&&(c<'0'||c>'9')) c=getchar();
    sgn=(c=='-')?-1:1;
    ret=(c=='-')?0:(c-'0');
    while(c=getchar(),c>='0'&&c<='9') ret=ret*10+(c-'0');
    if(c==' '||c=='\n'){ ret*=sgn; return 1; }
    while(c=getchar(),c>='0'&&c<='9') ret+=(c-'0')*bit,bit/=10;
    ret*=sgn;
    return 1;
}
#define inf 1073741823
#define llinf 4611686018427387903LL
#define PI acos(-1.0)
#define lth (th<<1)
#define rth (th<<1|1)
#define rep(i,a,b) for(int i=int(a);i<=int(b);i++)
#define drep(i,a,b) for(int i=int(a);i>=int(b);i--)
#define gson(i,root) for(int i=ptx[root];~i;i=ed[i].next)
#define tdata int testnum;scanff(testnum);for(int cas=1;cas<=testnum;cas++)
#define mem(x,val) memset(x,val,sizeof(x))
#define mkp(a,b) make_pair(a,b)
#define findx(x) lower_bound(b+1,b+1+bn,x)-b
#define pb(x) push_back(x)
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;

double dp[1111][1111];
bool vis[1111][1111];
int n,m;
double dfs(int i,int j){
    if(i==0)return 0.0;
    if(j==0)return 1.0;
    if(vis[i][j])return dp[i][j];
    
    vis[i][j]=1;
    dp[i][j]=double(i)/double(i+j);
    if(i>=1&&j>=2){
        dp[i][j]+=double(j)/double(i+j)*double(j-1)/double(i+j-1)*
                  double(i)/double(i+j-2)*dfs(i-1,j-2);
    }
    if(j>=3){
        dp[i][j]+=double(j)/double(i+j)*double(j-1)/double(i+j-1)*
                  double(j-2)/double(i+j-2)*dfs(i,j-3);
    }


    return dp[i][j];
}
int main(){
    scanff(n);
    scanff(m);
    double ans=0;

    printf("%.10f\n",dfs(n,m));

    return 0;
}




深入解析Docker Overlay2磁盘空间占用问题及高效清理策略 本文深入解析了Docker Overlay2存储驱动导致磁盘空间占用的核心原因,包括镜像与容器残留、日志文件膨胀、应用层泄漏及驱动特性。提供了从全局检查到精准定位的完整排查方法,并给出了从常规清理到配置优化的多维度高效清理策略,帮助用户从根本上解决Docker磁盘空间问题。 阅读详情

相关推荐

高斯投影坐标正反算算法(python)

高斯坐标正反算算法,在正算的时候,y的第一个数字表示是用几度带换算的,第二个数字和第三个数字表示带号。该程序是根据武汉大学出版社出版的第三版的《大地测量学基础》编写, 用于课程实验学习。

weixin_64338372的博客 4588

Codeforces 148D Bag of mice 简单概率dp

题目链接:Codeforces 148D Bag of mice 题目 Description The dragon and the princess are arguing about what to do on the New Year’s Eve. The dragon suggests flying to the mountains to watch fairies dancing in ...

weixin_44273380的博客 263

FANUC机器人KAREL编程实战:手把手教你用SOCKET指令连接外部设备(附完整.KL文件)

本文详细解析了FANUC机器人KAREL编程中SOCKET指令的应用,从开发环境配置到工业级通讯全流程,涵盖网络参数设置、模块化代码设计、错误处理及现场调试技巧。通过实战案例,帮助开发者掌握与外部设备稳定连接的关键技术,提升工业自动化系统的通讯可靠性。

weixin_30907935的博客 226

CodeForces - 148D Bag of mice【概率DP】

Pear和Fish正在进行这样一个游戏: 一个袋子里一开始装着w个白球和b个黑球。从Pear开始,每次轮流随机抽出一个球。如果抽出的球是白色的,则抽出这个球的人立即获胜。每当一个球被取出后(然后结算获胜情况后),会有另一个球自动滚出来(不算任何人抽的)。每个人抽球、和自动滚出来的球都是等概率的。那么Pear获胜率是多少呢? Input 两个数w,b含义如上。w,b<=1000 Out...

独钓门前月 491

避开这5个坑!Tushare金融数据获取与分析的常见错误排查指南

本文详细解析了使用Tushare进行金融数据获取与分析时常见的5个问题,包括Token失效、数据缺失、频率限制、数据一致性和性能瓶颈,并提供了实用的解决方案和优化策略。通过Python代码示例和最佳实践,帮助金融数据分析师和量化开发者高效避开这些陷阱,提升工作效率。

x2y3z4a5b的博客 1036

Oracle到金仓数据库信创改造迁移实施规划方案

**性能测试和优化**:对金仓数据库的性能进行测试,根据业务负载情况进行必要的调优,确保系统能够稳定高效运行。- **数据兼容性**:评估Oracle数据库中的数据结构和金仓数据库的兼容性,明确需要重构的数据模型。- **性能测试**:通过对金仓数据库的性能测试,预估在实际业务环境下的表现,是否能达到业务需求。- **工具选择**:选择适合的迁移工具,如金仓数据库提供的迁移工具,能够提升迁移效率和准确性。- **全面迁移**:在初步迁移成功后,进行全面数据迁移,确保所有数据完整迁移到金仓数据库上。

hdrhdrjdididrr的博客 480

Codeforces 148D. Bag of mice(概率dp)

Codeforces 148D. Bag of mice(概率dp) Description The dragon and the princess are arguing about what to do on the New Year’s Eve. The dragon suggests flying to the mountains to watch fairies dancing in the moonlight, while the princess thinks they should just

Fairy_vikey的博客 299

Ubuntu Server 22.04.5系统安装教程

该教程主要是演示在服务器上安装Ubuntu server 22.04系统的详细步骤,主要包含,安装系统前的准备(镜像的下载,启动盘的制作),安装系统时的语言选择,网络设置,切换镜像源(可根据实际需求来配置,本文使用清华镜像源),手动分区,用户设置,ssh服务安装等。以上就是关于Ubuntu Server 22.04系统安装的详细过程。

逆水行舟,不进则退。 7761

CodeForces 148D. Bag of mice(概率dp)

题目链接:http://codeforces.com/problemset/problem/148/DD. Bag of micetime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputThe dragon and the princess are a...

1260

手把手教你用yt-dlp批量下载YouTube视频数据集(附TikTok/Kaggle资源)

本文提供了一份构建视频数据集的实战指南,重点介绍了使用yt-dlp工具批量下载YouTube视频的高级技巧,包括环境配置、批量参数设置与自动化脚本。同时,文章还整合了TikTok、Kaggle及学术开源数据集等多源高质量视频资源,并分享了数据清洗、格式统一与管理的完整流程,帮助研究者和开发者高效获取与处理训练数据。

weixin_29057237的博客 291

24、水下传感器网络中混合LEACH协议与遗传算法获取路由节点

本文提出了一种结合遗传算法与LEACH协议的混合路由方案,用于提升水下无线传感器网络(UWSN)的能量利用效率和数据传输稳定性。通过遗传算法优化簇头选择与路径规划,有效避免节点过早死亡,减少能量消耗,在200个节点场景下显著提升网络寿命。相比传统LEACH协议,该方案具有更高的能量利用率、更强的环境适应性,并支持传输历史记录与并行传输序列。实验结果显示,该方案在总能量为2000焦耳时剩余能量达75.6%,远优于LEACH的34.8%能耗表现。适用于海洋监测、石油平台监控及水下灾害预警等复杂环境应用。

i8j9k0l1的博客 112

CodeForces 148D Bag of mice 概率DP

龙和公主从一个袋子里抓老鼠,谁先抓到白老鼠谁赢,如果最后谁都没有抓到白老鼠龙赢,龙每次抓老鼠都会又一只老鼠从袋中逃跑,问最后公主胜利的概率。 假设dp[i][j]表示袋中有i只白老鼠,j只黑老鼠时公主胜利的概率,那么对于这个局面,会有4种不同的可能: 公主抓到白老鼠; 公主抓到黑老鼠,龙抓到白老鼠;(输,不可向后推进) 公主抓到黑老鼠,龙抓到黑老鼠,跑掉黑老鼠;

colorfulshark 434

C语言关键字static的绝妙用途

为什么要说static妙,它确实是妙,在软件开发或者单片机开发过程中,大家总以为static就是一个静态变量,在变量类型的前面加上就自动清0了,还有就是加上static关键字的,不管是变量还是关键字,在局部变量中,变量仅限于局部可见,在全局区中,static变量或函数仅限于本文件可见,当然还有一个重要的特性被忽略了。。。。       就是static修饰的局部变量 它的数值 是上一次函数调用结

Bruce.yang的嵌入式之旅 5378

CodeForces 148-D Bag of mice(概率DP)

CodeForces 148-D Bag of mice题解

祝如愿的博客 190

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Codeforces 148D Bag of mice 简单概率dp

D. Bag of mice time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output The dragon and the princess are arguing abou

相思作坊半世离殇的博客 355

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

CodeForces 148D Bag of mice(概率DP)

个人博客→TanJX的自留地 Bag of mice The dragon and the princess are arguing about what to do on the New Year’s Eve. The dragon suggests flying to the mountains to watch fairies dancing in the moonlight, while ...

Tan_JX 330

Codeforces-148D Bag of mice (概率DP)

大致思路:设p[i][j]表示公主在有i只白鼠,j只黑鼠时先手获胜概率,p[i][j]表示恶龙在有i只白鼠,j只黑鼠时先手获胜概率 则状态转移方程为:d[i][j]=i/(i+j)+j/(i+j)*(1-(i/(i+j-1)*p[i-1][j-1]+(j-1)/(i+j-1)*p[i][j-2])); p[i][j]=i/(i+j)+j/(i+j)*(1-d[i][j-1]); 即:d[i][j]=1-(i*j*p[i-1][j-1]+

idealism_xxm的专栏 552

[Codeforces148D]Bag of mice(概率dp)

题目描述传送门 题意:一个袋子里有w只白老鼠和b只黑老鼠,有两个人轮流抓老鼠,每个人每次都等概率地抓出一只老鼠,第二个人抓完之后袋子里会等概率地跳出来一只老鼠,第一个抓到白老鼠的人获胜。问第一个人获胜的概率题解令f(i,j)表示袋子里总共用i只老鼠,并且j只为白老鼠的概率 根据剩余老鼠的数量可以判断出第几个人抓或者老鼠往外跳 那么当第一个人或者第二个人抓的时候,f(i,j)从f(i+1,j)转

zyf2000 436

codeforces 148D Bag of mice(概率dp)

题意:给你w个白色小鼠和b个黑色小鼠,把他们放到袋子里,princess先取,dragon后取,princess取的时候从剩下的当当中任意取一个,dragon取得时候也是从剩下的时候任取一个,但是取完之后会随机跳出来一个。取到每个小鼠的概率是一样的,跳出的也是一样的。先取到白色的小鼠赢,问最后princess能赢的概率。 思路:概率dp,如果把princess能赢的分成两种情况,那么这...

dizhuo0219的博客 190

【Bag of mice】【CodeForces 148D】 (概率dp)

题目: The dragon and the princess are arguing about what to do on the New Year's Eve. The dragon suggests flying to the mountains to watch fairies dancing in the moonlight, while the princess thinks th...

哇哈哈哈的博客 279

codeforces 148d Bag of mice 概率dp

题意:

567

codeforces 148D Bag of mice(概率DP)

题目链接:http://codeforces.com/problemset/problem/148/D 题意:n个白球m个黑球在一个袋子中。A、B两个人玩游戏。 (1)先拿到白球的人赢,游戏结束; (2)A先拿; (3)每次B拿完后,会有一个球自己跳出来,这个球是随机的。 (4)拿到最后谁也没有拿到白球但是球没有了算B赢。 问A赢的概率。 思路:f[i][j]表示A面临(i,j)赢的...

weixin_34308389的博客 202

Codeforces 148D Bag of mice:概率dp 记忆化搜索

题目链接:http://codeforces.com/problemset/problem/148/D 题意:   一个袋子中有w只白老鼠,b只黑老鼠。   公主和龙轮流从袋子里随机抓一只老鼠出来,不放回,公主先拿。   公主每次抓一只出来。龙每次在抓一只出来之后,会随机有一只老鼠跳出来(被龙吓的了。。。)。   先抓到白老鼠的人赢。若两人最后都没有抓到白老鼠,则龙赢。   ...

a1392136的博客 192

codeforces 148D D. Bag of mice(概率dp)

题目链接:codeforces 148D题目大意:给出w只白老鼠,b只黑老鼠,公主和龙轮流取老鼠,公主先手,龙取老鼠时会吓跑一只老鼠,先取出白老鼠的人赢,如果没人取到白老鼠,那么龙赢。问公主赢的概率。题目分析: 首先定义状态dp[i][j]表示第i次取老鼠时剩余黑老鼠为j的概率。 那么最后结果就是∑i为奇数∑j=0bdp[i][j]\sum_{i为奇数}\sum_{j=0}^bdp[i][j] 那么

llin-黎辰 1306

CodeForces148D Bag of mice(概率dp)

Bag of mice The dragon and the princess are arguing about what to do on the New Year’s Eve. The dragon suggests flying to the mountains to watch fairies dancing in the moonlight, while the princess th...

Zain的博客 161

Codeforces 148D D Bag of mice(概率dp)

题目链接:Codeforces 148D D Bag of mice 概率dp。

fobdddf的专栏 1533
上一篇: POJ 2151 Check the difficulty of problems [概率DP]
下一篇: POJ 3071 Football [概率DP]
GrassTreeFlower
博客等级 码龄11年 14粉丝 116原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值