题面

传送门

题意

\(m\)面的骰子

求连续出现\(n\)个相同面的期望次数

或者

求连续出现\(n\)个不同面的期望次数

Sol

设\(f[i]\)表示已经出现了\(i\)~\(n\)这些面相同的期望次数

\(g[i]\)指\(i\)~\(n\)这些面不同的期望次数

那么显然有

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

\[f[n]=0
\]

\[g[i]=\frac{m-i}{m}g[i+1]+\frac{1}{m}\sum_{j=1}^ig[j]+1
\]

\[g[n]=0
\]

然后差分一下即错位相减

就可以求出相邻两段的差值的关系

而\(f[1]-f[0]=1\)且\(g[1]-g[0]=1\)

就可以推出来所有的东西了

# include <bits/stdc++.h>
# define RG register
# define IL inline
# define Fill(a, b) memset(a, b, sizeof(a))
using namespace std;
typedef long long ll; int T, op;
double n, m; IL void Calc1(){
RG double tp = 1, ans = 0;
for(RG int i = 1; i <= n; ++i) ans += tp, tp *= m;
printf("%.10lf\n", ans);
} IL void Calc2(){
RG double tp = 1, ans = 0;
for(RG int i = 1; i <= n; ++i) ans += tp, tp *= m / (m - i);
printf("%.10lf\n", ans);
} int main(RG int argc, RG char *argv[]){
while(scanf("%d", &T) != EOF){
for(RG int i = 1; i <= T; ++i){
scanf("%d%lf%lf", &op, &m, &n);
!op ? Calc1() : Calc2();
}
}
return 0;
}

HDU4652:Dice的更多相关文章

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

    [HDU4652]Dice(数学期望,动态规划) 题面 Vjudge 有一个\(m\)面骰子 询问,连续出现\(n\)个相同的时候停止的期望 连续出现\(n\)个不同的时候停止的期望 题解 考虑两种分 ...

  2. Gym-101128D:Dice Cup

    题意 给你两个骰子,一个有n面,一个有m面,分别仍一次,求和的概率最大的值 分析 签到题 模拟就行 凑数才把这个题也发到博客上···· #include <cstdio> #include ...

  3. 2DToolkit官方文档中文版打地鼠教程(三):Sprite Collections 精灵集合

    这是2DToolkit官方文档中 Whack a Mole 打地鼠教程的译文,为了减少文中过多重复操作的翻译,以及一些无必要的句子,这里我假设你有Unity的基础知识(例如了解如何新建Sprite等) ...

  4. 数据仓库原理<4>:联机分析处理(OLAP)

    本文转载自:http://www.cnblogs.com/hbsygfz/p/4762085.html 1. 引言 本篇主要介绍数据仓库中的一项重要分析技术——联系分析处理(OLAP). 在第一篇笔者 ...

  5. 浅谈Unity的渲染优化(1): 性能分析和瓶颈判断(上篇)

    http://www.taidous.com/article-667-1.html 前言 首先,这个系列文章做个大致的介绍,题目"浅谈Unity",因为公司和国内大部分3D手游开发 ...

  6. EOS dice移到1.8版本的修改汇总

    EOS dice移到1.8版本的修改汇总 1. CORE_SYMBOL 被去掉了,需要自己在文件中声明eg: uint64_t string_to_symbol_c(uint8_t precision ...

  7. AI+医疗:使用神经网络进行医学影像识别分析 ⛵

    作者:韩信子@ShowMeAI 计算机视觉实战系列:https://www.showmeai.tech/tutorials/46 行业名企应用系列:https://www.showmeai.tech/ ...

  8. Review of Segmentation for Medical image analysis

    成像方法:X射线,CT,MRI,SPECT,PET等 分割的定义: Image segmentation is a procedure for extracting the region of int ...

  9. 如何制作css3的3d动画——以骰子旋转为例,详解css3动画属性

    首先先来看两个用css3实现的炫酷的3d动画效果 1 2 3 4 5   6 你没看错,这个炫酷的效果都是用css3实现的. 下面是动画实现所需要用到的几个css3属性. 1.perspective: ...

随机推荐

  1. ssh访问流程

    SSH是英文Secure Shell的简写形式.通过使用SSH,你可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,而且也能够防止DNS欺骗和IP欺骗.使用S ...

  2. CocoaPods的PodSpec.json文件用法

    最近有时候用最新的CocoaPod的第三方库,有时候发现CocoaPod.org能搜到那个Podfile,但是每次在终端Pod search xxx,每次都搜不到,原来是本地的Podspec没用更新, ...

  3. 逆向学习-DLL注入

    DLL注入技术,可以实现钩取API,改进程序,修复Bug. DLL注入指的是向运行中的其他进程强制插入特定的DLL文件. DLL注入命令进程自行调用LoadLibrary()API,加载用户指定的DL ...

  4. LOJ565. 「LibreOJ Round #10」mathematican 的二进制(NTT)

    题目链接 https://loj.ac/problem/565 题解 首先,若进行所有操作之后成功执行的操作数为 \(m\),最终得到的数为 \(w\),那么发生改变的二进制位的数量之和(即代价之和) ...

  5. opencv_python使用cv2.imread()读取中文路径报错问题(转)

    原地址:https://blog.csdn.net/liuqinshouss/article/details/78696032 1 说明 本篇中使用的opencv版本为3.3,python使用的版本为 ...

  6. 实现微信小程序支付

    1.在小程序中获取用户的登录信息,成功后可以获取到用户的code值 2.把code值传给服务端,服务端请求微信获取用户openid接口,成功后可以获取用户的openid值 3.服务器上面请求微信的统一 ...

  7. JavaEE_XMind总结

    1 Servlet 2 ServletContext 3 HttpServletResponse 4 HttpServletResquest 5 Cookie

  8. C 标准库 - string.h

    C 标准库 - string.h This header file defines several functions to manipulate C strings and arrays. stri ...

  9. hibernate 学习笔记2

    1.Criteria查询接口适用于组合多个限制条件来搜索一个查询集. 要使用Criteria,需要遵循以下步骤: *创建查询接口: Criteria criteria=session.createCr ...

  10. zato集群部署

    注: SQL ODB和Cluster’s config需要首先依次创建,其他三个次序随意 对不熟悉的命令,使用server create *** -h 查看帮助文档 修改完后配置文件,要重启(zato ...