【HDU4652】Dice(数学期望,动态规划)

题面

Vjudge

有一个\(m\)面骰子

询问,连续出现\(n\)个相同的时候停止的期望

连续出现\(n\)个不同的时候停止的期望

题解

考虑两种分开询问来算。

第一种:

设\(f[i]\)表示已经有连续的\(i\)个相同时,到达目标状态的期望。

\[f[i]=\frac{1}{m}f[i+1]+\frac{m-1}{m}f[1]+1
\]

相邻两项作差,得到

\[m(f[i+1]-f[i])=f[i+2]-f[i+1]
\]

按照顺序列出来

\(f[0]-f[1]=1\)

\(f[1]-f[2]=m\)

\(f[2]-f[3]=m^2\)

...

\(f[n-1]-f[n]=m^{n-1}\)

将所有式子相加起来

\(f[0]-f[n]=\frac{m^n-1}{1-m}\)

\(f[n]=0\),这样就知道了\(f[0]\)

所以

\[Ans=f[0]=\frac{m^n-1}{1-m}
\]


考虑第二种询问

设\(f[i]\)表示连续\(i\)个不同的数字,到达目标状态的期望

\[f[i]=\frac{m-i}{m}f[i+1]+\frac{f[1]+f[2]+f[3]+...f[i-1]+f[i]}{m}
\]

还是相邻两项作差让后相加,算出答案

\[Ans=\sum_{i=0}^{n-1}\prod_{j=0}^{i}\frac{m}{m-j}
\]

#include<cstdio>
#include<cmath>
using namespace std;
double Solve1(int m,int n){return (pow(m,n)-1.0)/(m-1.0);}
double Solve2(int m,int n)
{
double ret=1,d=1;
for(register int j=1;j<n;++j)d=1.0*m/(m-j)*d,ret+=d;
return ret;
}
int main()
{
register int T,opt,n,m;
while(scanf("%d",&T)!=EOF)while(T--)
{
scanf("%d%d%d",&opt,&m,&n);
printf("%.9lf\n",!opt?Solve1(m,n):Solve2(m,n));
}
}

【HDU4652】Dice(数学期望,动态规划)的更多相关文章

  1. SP1026 FAVDICE - Favorite Dice 数学期望

    题目描述: 一个n面的骰子,求期望掷几次能使得每一面都被掷到. 题解:先谈一下期望DP. 一般地,如果终止状态固定,我们都会选择逆序计算. 很多题目如果顺序计算会出现有分母为 0 的情况,而逆序计算中 ...

  2. 【BZOJ2134】单位错选(数学期望,动态规划)

    [BZOJ2134]单位错选(数学期望,动态规划) 题面 BZOJ 题解 单独考虑相邻的两道题目的概率就好了 没了呀.. #include<iostream> #include<cs ...

  3. 【BZOJ1415】【NOI2005】聪聪和可可(动态规划,数学期望)

    [BZOJ1415][NOI2005]聪聪和可可(动态规划,数学期望) 题面 BZOJ 题解 先预处理出当可可在某个点,聪聪在某个点时 聪聪会往哪里走 然后记忆化搜索一下就好了 #include< ...

  4. 【Luogu1291】百事世界杯之旅(动态规划,数学期望)

    [Luogu1291]百事世界杯之旅(动态规划,数学期望) 题面 洛谷 题解 设\(f[i]\)表示已经集齐了\(i\)个名字的期望 现在有两种方法: 先说我自己的: \[f[i]=f[i-1]+1+ ...

  5. 【BZOJ4872】分手是祝愿(动态规划,数学期望)

    [BZOJ4872]分手是祝愿(动态规划,数学期望) 题面 BZOJ 题解 对于一个状态,如何求解当前的最短步数? 从大到小枚举,每次把最大的没有关掉的灯关掉 暴力枚举因数关就好 假设我们知道了当前至 ...

  6. 【BZOJ1076】奖励关(动态规划,数学期望)

    [BZOJ1076]奖励关(动态规划,数学期望) 题面 懒,粘地址 题解 我也是看了题解才会做 看着数据范围,很容易想到状压 然后,设\(f[i][j]\)表示当前第\(i\)轮,状态为\(j\)的期 ...

  7. HDU 4586 Play the Dice(数学期望)

    Play the Dice Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Tot ...

  8. 【HDU4336】Card Collector (动态规划,数学期望)

    [HDU4336]Card Collector (动态规划,数学期望) 题面 Vjudge 题解 设\(f[i]\)表示状态\(i\)到达目标状态的期望 \(f[i]=(\sum f[j]*p[j]+ ...

  9. 动态规划之经典数学期望和概率DP

    起因:在一场训练赛上.有这么一题没做出来. 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6829 题目大意:有三个人,他们分别有\(X,Y,Z\)块钱 ...

随机推荐

  1. Maven学习(十六)-----Maven存储库

    什么是Maven资源库? 在 Maven 术语里存储库是一个目录,即目录中保存所有项目的 jar 库,插件或任何其他项目特定文件,并可以容易由 Maven 使用. Maven库中有三种类型 local ...

  2. devpi 快速入门:上传,测试,推送发行版

    安装 devpi 客户端和服务器端 pip install -U devpi 这将安装devpi-client,devpi-server 和 devpi-web 三个Python PyPi包. 初始化 ...

  3. 近中期3D编程研究目标

    近几年一直在用业余时间研究3D编程,研究的中期目标是建立一个实用的开源3D编程框架.3D编程技术最直接的应用是开发游戏,所以3D编程框架也就是3D游戏开发框架.在我看来,游戏是否好玩的关键是能否为玩家 ...

  4. 城市规模越大,工资、GDP、犯罪率越高:4.5星|《规模》

    规模 信息浓度非常高的一本书.篇幅也不小,纸书有568页,致谢与注释只占7%. 全书讲各种复杂的东西中存在的普遍规律:哺乳动物体重每增加一倍,心率降低25%:城市人口每增加一倍,加油站只增加85%:城 ...

  5. RyuBook1.0案例三:REST Linkage

    REST Linkage 该小结主要介绍如何添加一个REST Link 函数 RYU本身提供了一个类似WSGI的web服务器功能.借助这个功能,我们可以创建一个REST API. 基于创建的REST ...

  6. js-jQuery对象与dom对象相互转换(转载)

    核心提示:jquery选择器得到的jquery对象和标准的 javascript中的document.getElementById()取得的dom对象是两种不同的对象类型,一般情况下,如S(’#id’ ...

  7. HPUX 配置zabbix开机自动启动

    1. 在/etc/rc.config.d目录下创建zabbixd文件,并增加以下内容:    #!/sbin/sh    # v1.0 ?zabbixd startup/kill config     ...

  8. phpquery 学习笔记

    phpQuery是一个基于PHP的服务端开源项目,它可以让PHP开发人员轻松处理DOM文档内容,比如获取某新闻网站的头条信息.更有意思的是,它采用了jQuery的思想,你可以像使用jQuery一样处理 ...

  9. 团队backlog和燃尽图

    首先我们的团队的任务是做一款一对一交流的软件,我们团队的backlog如下: 用电脑搭建一个服务器一对一平台 实现数据库和Android的链接 编写登陆,注册页面,和登陆成功界面,和登陆失败页面 实现 ...

  10. P4环境搭建

    P4环境搭建 执行仓库中所有脚本,即可即可安装所有依赖项. GitHub链接 脚本执行顺序:deps,p4c-bm,bmv2,p4c